Có cách nào để sử dụng hai bóng hộp CSS3 trên một phần tử không?


156

Tôi đang cố gắng tái tạo kiểu nút trong một bản mô phỏng Photoshop có hai bóng trên đó. Bóng đầu tiên là bóng hộp bên trong nhẹ hơn (2px) và bóng thứ hai là bóng thả bên ngoài nút (5px).

nhập mô tả hình ảnh ở đây

Trong Photoshop, điều này thật dễ dàng - Inside Shadow và Drop Shadow. Trong CSS tôi rõ ràng có thể có cái này hoặc cái kia, nhưng không phải cả hai cùng một lúc.

Nếu bạn thử mã dưới đây trong trình duyệt, bạn sẽ thấy rằng bóng hộp đè lên bóng hộp bên trong.

Đây là bóng hộp bên trong:

box-shadow: inset 0 2px 0px #dcffa6;

Và đây là những gì tôi muốn cho bóng thả trên nút:

box-shadow: 0 2px 5px #000;

Đối với ngữ cảnh, đây là mã nút đầy đủ của tôi (có độ dốc và tất cả):

button {
    outline: none;
    position: relative;
    width: 160px;
    height: 40px;
    font-family: 'Open Sans', sans-serif;
    color: #fff;
    font-weight: 800;
    font-size: 12px;
    text-shadow: 0px 1px 3px black; 
    border-radius: 3px;
    background-color: #669900;
    background: -webkit-gradient(linear, left top, left bottom, from(#97cb52), to(#669900));
    background: -moz-linear-gradient(top, #97cb52, #669900);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#97cb52', endColorstr='#669900');
    box-shadow: inset 0 2px 0px #dcffa6;
    box-shadow: 0 2px 5px #000;
    border: 1px solid #222;
    cursor: pointer;
}

Câu trả lời:


405

Bạn có thể phân tách các dấu phẩy:

box-shadow: inset 0 2px 0px #dcffa6, 0 2px 5px #000;

6
Ngoài ra, hãy đề cập rằng bóng được khai báo đầu tiên thuộc về (các) jsfiddle.net/webtiki/s9pkj
web-tiki sau

Bạn đang thiếu bán kính spead btw; Điều đó có thể làm cho khá khác biệt. Ngoài ra độ mờ trên bóng thực sự có thể tạo ra sự khác biệt. Bạn có thể chơi với bóng hộp nếu bạn mở các công cụ dev ở đây trên mục blog của tôi. fullstack.life/css3-mult Môn
fullstacklife 17/03/2016

16

Bóng hộp có thể sử dụng dấu phẩy để có nhiều hiệu ứng, giống như với hình nền (trong CSS3).


Trong khi bạn có thể áp dụng nhiều bóng tối, áp dụng inset bóng, tôi đã tìm thấy, là một trường hợp đặc biệt. (Nhưng trường hợp đó chỉ áp dụng cho hình ảnh, tôi đoán vậy).
JayC

Có thật không? Hiện tại tôi đang sử dụng điện thoại di động nên tôi không thể kiểm tra; nhưng tôi không nghe thấy báo cáo nào trước đây ... tôi sẽ xem xét vào ngày mai, sau khi làm việc. = /
David nói phục hồi Monica

Nếu bạn muốn một bóng trong hình ảnh, bạn phải đặt một phần tử hoặc giả trên đầu trang. Nó có thể là khó khăn.
JayC
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.