Làm thế nào để áp dụng bóng hộp trên cả bốn mặt?


84

Tôi đang cố gắng áp dụng một box-shadowtrên cả bốn mặt. Tôi chỉ có thể nhận được nó trên 2 mặt:


2
CSS3please.com phải lúc nào cũng hữu ích cho loại công cụ này ...
sscirrus

Câu trả lời:


139

Đó là do x và y bù lại. Thử đi:

-webkit-box-shadow: 0 0 10px #fff;
        box-shadow: 0 0 10px #fff;

chỉnh sửa (năm sau ..): Làm cho câu trả lời nhiều trình duyệt hơn, như được yêu cầu trong nhận xét :)

btw: có rất nhiều trình tạo css3 ngày nay .. css3.me , css3maker , css3generator , v.v.


1
+1 vì bạn nhận được câu trả lời đúng nhanh hơn, mặc dù nó trông đẹp hơn với bán kính nhỏ hơn và giá trị chênh lệch.
ba mươi

1
Cảm ơn. Tôi đang xem câu trả lời đầu tiên của bạn và nghĩ rằng tôi đã đặt câu hỏi sai :)
Damb

bạn nên làm cho câu trả lời của bạn nhiều trình duyệt hơn.
Lucas

Tôi không chắc tại sao, nhưng điều này không hiệu quả với tôi. Tôi không nhận được bóng hộp khi tôi sử dụng cái này. Nếu tôi sử dụng câu trả lời được đăng bởi @thirtydot thì nó hoạt động. Bạn phải làm mờ và lan rộng nếu hai giá trị đầu tiên bằng 0. Điều này đang xảy ra trong Chrome.
Charles Williams

1
@thirtydot - Bạn nói đúng, với nền sáng hơn, bạn có thể nhìn thấy nó. Nhưng nếu nền của bạn là màu đen, bạn hoàn toàn không thể nhìn thấy nó. Vì vậy, tôi đoán tôi không nên nói rằng nó không hoạt động. Nhưng nó chắc chắn không thể nhìn thấy nếu không có sự lan rộng khi bạn có nền đen, bất kể màu của hộp bóng là gì. Ngay cả với màu đỏ, đường viền của bạn có vẻ hơi đỏ, nhưng không có bóng hộp "nhìn thấy". Vì vậy, nếu bạn có nền sáng hơn, thì tôi đoán giải pháp này sẽ hiệu quả. Đối với nền quá tối, giải pháp này không đáng tin cậy. jsfiddle.net/vkzd71rc vs jsfiddle.net/vkzd71rc/1
Charles Williams

34

Xem: http://jsfiddle.net/thirtydot/cMNX2/8/

input {
    -webkit-box-shadow: 0 0 5px 2px #fff;
    -moz-box-shadow: 0 0 5px 2px #fff;
    box-shadow: 0 0 5px 2px #fff;
}

Tôi biết mỗi giá trị là gì trong bóng hộp với 3 giá trị + màu sắc. 4 giá trị này là viết tắt của những gì ??
chuồn chuồn

1
Đọc: developer.mozilla.org/En/CSS/Box-shadow - cụ thể là "bán kính lây lan".
ba mươi

Người sáng tạo Fiddle - MVP.
Terrance00

10

Cái này trông thật tuyệt.

-moz-box-shadow: 0 0 5px #999;
-webkit-box-shadow: 0 0 5px #999;
box-shadow: 0 0 5px #999;

10

Chỉ đơn giản như mã này:

box-shadow: 0px 0px 2px 2px black; /*any color you want*/

5

Hiểu cú pháp box-shadow và viết nó cho phù hợp

box-shadow: h-offset v-offset blur spread color;

h-offset: Độ lệch ngang của bóng. Giá trị dương đặt bóng ở bên phải hộp, giá trị âm đặt bóng ở bên trái hộp - Bắt buộc

v-offset: Độ lệch dọc của bóng đổ. Giá trị dương đặt bóng bên dưới hộp, giá trị âm đặt bóng bên trên hộp - Bắt buộc

mờ: Bán kính làm mờ (Số càng cao, bóng càng mờ) - Tùy chọn

màu sắc: Màu của bóng - Tùy chọn

spread: Bán kính lan truyền. Giá trị dương làm tăng kích thước của bóng, giá trị âm làm giảm kích thước của bóng - Tùy chọn

chèn: Thay đổi bóng từ bóng bên ngoài thành bóng bên trong - Tùy chọn

box-shadow: 0 0 10px #999;

box-shadow hoạt động tốt hơn với spread

box-shadow: 0 0 10px 8px #999;

sử dụng 'chèn' để áp dụng bóng bên trong hộp

box-shadow: 0 0 8px inset #999;
(or)
box-shadow: 0 0 8px 8px inset #999;

sử dụng rgba (xanh đỏ alpha alpha) để điều chỉnh bóng hiệu quả hơn

box-shadow: 0 0 8px inset rgba(153, 153, 153, 0.8); 
(or)
box-shadow: 0 0 8px 8px inset rgba(153, 153, 153, 0.8); 

4

Giải pháp đơn giản nhất và cách dễ nhất là thêm bóng cho cả bốn mặt. CSS

box-shadow: 0 0 2px 2px #ccc; /* with blur shadow*/
box-shadow: 0 0 0 2px #ccc; /* without blur shadow*/

2

Tôi đã tìm thấy trang web http://css-tricks.com/forums/topic/how-to-add-shadows-on-all-4-sides-of-a-block-with-css/ .

.allSides
{
    width:350px;height:200px;
    border: solid 1px #555;
    background-color: #eed;
    box-shadow: 0 0 10px rgba(0,0,0,0.6);
    -moz-box-shadow: 0 0 10px rgba(0,0,0,0.6);
    -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.6);
    -o-box-shadow: 0 0 10px rgba(0,0,0,0.6);
}

1
nó phù hợp như các câu trả lời khác trong trang web này, nhưng khi bạn đang phấn đấu, tôi quyết định bỏ phiếu cho câu trả lời của bạn.
blueray

1

CSS3 box-shadow: 4 cạnh đối xứng

  1. mỗi bên cùng màu

:root{
  --color: #f0f;
}

div {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 50px auto;
  width: 200px;
  height: 100px;
  background: #ccc;
}

.four-sides-with-same-color {
  box-shadow: 0px 0px 10px 5px var(--color);
}
<div class="four-sides-with-same-color"></div>

  1. mỗi bên với một màu khác nhau

:root{
  --color1: #00ff4e;
  --color2: #ff004e;
  --color3: #b716e6;
  --color4: #FF5722;
}

div {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 50px auto;
  width: 200px;
  height: 100px;
  background-color: rgba(255,255,0,0.7);
}

.four-sides-with-different-color {
  box-shadow: 
    10px 0px 5px 0px var(--color1),
    0px 10px 5px 0px var(--color2),
    -10px 0px 5px 0px var(--color3),
    0px -10px 5px 0px var(--color4);
}
<div class="four-sides-with-different-color"></div>

ảnh chụp màn hình

refs

https://css-tricks.com/almanac/properties/b/box-shadow/

https://www.cnblogs.com/xgqfrms/p/13264347.html


0

Sử dụng mã css này cho tất cả bốn mặt: box-shadow: 0px 1px 7px 0px rgb (106, 111, 109);


0

Bạn có thể kết hợp khác nhau tại liên kết sau.
https://www.cssmatic.com/box-shadow

Kết quả mà bạn cần có thể đạt được bằng CSS sau

-webkit-box-shadow: 0px 0px 11px 1px rgba(0,0,0,1);
-moz-box-shadow: 0px 0px 11px 1px rgba(0,0,0,1);
box-shadow: 0px 0px 11px 1px rgba(0,0,0,1);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.