มีวิธีใช้เงาสองกล่อง CSS3 ในองค์ประกอบเดียวหรือไม่


156

ฉันพยายามจำลองปุ่มใน Photoshop จำลองซึ่งมีเงาสองแบบ เงาแรกคือเงาภายในกล่องที่เบากว่า (2px) และเงาที่สองคือเงาที่อยู่ด้านนอกปุ่ม (5px)

ป้อนคำอธิบายรูปภาพที่นี่

ใน Photoshop นี่ง่าย - Inner Shadow และ Drop Shadow ใน CSS ฉันเห็นได้ชัดว่ามีอย่างใดอย่างหนึ่ง แต่ไม่ใช่ทั้งสองอย่างในเวลาเดียวกัน

หากคุณลองใช้รหัสด้านล่างในเบราว์เซอร์คุณจะเห็นว่ากล่องเงาแทนที่ทับกล่องเงา

นี่คือเงากล่องสิ่งที่ใส่เข้าไป:

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

และนี่คือสิ่งที่ฉันต้องการสำหรับเงาที่ปุ่ม:

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

สำหรับบริบทนี่คือรหัสปุ่มเต็มของฉัน (พร้อมการไล่ระดับสีและทั้งหมด):

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;
}

คำตอบ:


406

คุณสามารถคั่นด้วยเครื่องหมายจุลภาค:

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

6
นอกจากนี้ยังพูดถึงว่าเงาที่ประกาศครั้งแรกนั้นใช้กับjsfiddle.net/webtiki/s9pkj
web-tiki

คุณหายไปรัศมี spead btw; ที่สามารถสร้างความแตกต่างได้ ความทึบของเงาก็สามารถสร้างความแตกต่างได้เช่นกัน คุณสามารถเล่นกับเงากล่องถ้าคุณเปิดเครื่องมือ dev ที่นี่ในรายการบล็อกของฉัน fullstack.life/css3-multiple-box-shadows.html
fullstacklife

16

Box Shadows สามารถใช้เครื่องหมายจุลภาคเพื่อสร้างเอฟเฟ็กต์หลายแบบเช่นเดียวกับภาพพื้นหลัง (ใน CSS3)


ในขณะที่คุณสามารถใช้เงาหลาย ๆอันฉันพบเงาแทรกเป็นกรณีพิเศษ (แต่กรณีนั้นใช้กับภาพเท่านั้นฉันเดา)
JayC

จริงๆ? ฉันใช้มือถืออยู่ในขณะนี้ดังนั้นฉันไม่สามารถตรวจสอบได้ แต่ฉันไม่เคยได้ยินเรื่องที่รายงานมาก่อน ... ฉันจะพิจารณาเรื่องนั้นในวันพรุ่งนี้หลังเลิกงาน = /
เดวิดบอกว่าคืนสถานะโมนิก้าเมื่อ

หากคุณต้องการเงาแทรกอยู่บนภาพคุณจะต้องตั้งองค์ประกอบหรือหลอกด้านบน มันอาจเป็นเรื่องยุ่งยาก
JayC
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.