GÜNCELLEME 4
Güncelleme 3 ile aynı, ancak modern css (= daha az kural) ile, sözde öğe üzerinde özel bir konumlandırma gerekli değildir.
#box {
background-color: #3D6AA2;
width: 160px;
height: 90px;
position: absolute;
top: calc(10% - 10px);
left: calc(50% - 80px);
}
.box-shadow:after {
content:"";
position:absolute;
width:100%;
bottom:1px;
z-index:-1;
transform:scale(.9);
box-shadow: 0px 0px 8px 2px #000000;
}
<div id="box" class="box-shadow"></div>
GÜNCELLEME 3
Önceki tüm yanıtlarım bu efekti oluşturmak için fazladan biçimlendirme kullanıyordu, bu da gerekli değildir. Bence bu çok daha temiz bir çözüm ... tek hile, gölgenin doğru konumlandırılmasını ve gölgenin doğru gücünü / opaklığını elde etmek için değerlerle oynamaktır. İşte sözde öğeleri kullanan yeni bir keman :
http://jsfiddle.net/UnsungHero97/ARRRZ/2/
HTML
<div id="box" class="box-shadow"></div>
CSS
#box {
background-color: #3D6AA2;
width: 160px;
height: 90px;
margin-top: -45px;
margin-left: -80px;
position: absolute;
top: 50%;
left: 50%;
}
.box-shadow:after {
content: "";
width: 150px;
height: 1px;
margin-top: 88px;
margin-left: -75px;
display: block;
position: absolute;
left: 50%;
z-index: -1;
-webkit-box-shadow: 0px 0px 8px 2px #000000;
-moz-box-shadow: 0px 0px 8px 2px #000000;
box-shadow: 0px 0px 8px 2px #000000;
}
GÜNCELLEME 2
Görünüşe göre, bunu herkesin işaret ettiği gibi, kutu-gölge CSS için ekstra bir parametre ile yapabilirsiniz. İşte demo:
http://jsfiddle.net/K88H9/821/
CSS
-webkit-box-shadow: 0 4px 4px -2px #000000;
-moz-box-shadow: 0 4px 4px -2px #000000;
box-shadow: 0 4px 4px -2px #000000;
Bu daha iyi bir çözüm olurdu. Eklenen ekstra parametre şöyle tanımlanır:
Dördüncü uzunluk bir yayılma mesafesidir. Pozitif değerler, gölge şeklinin belirtilen yarıçapla tüm yönlerde genişlemesine neden olur. Negatif değerler gölge şeklinin daralmasına neden olur.
GÜNCELLEME
Demoyu jsFiddle'da bulabilirsiniz: http://jsfiddle.net/K88H9/4/
Yaptığım şey, gölge olmasını istediğiniz gerçek öğenin arkasına saklanacak bir "gölge öğesi" yaratmaktı. Belirttiğiniz gölgenin 2 katı kadar "gölge öğesinin" genişliğini gerçek öğeden tam olarak daha geniş olacak şekilde yaptım; sonra düzgün bir şekilde hizaladım.
HTML
<div id="wrapper">
<div id="element"></div>
<div id="shadow"></div>
</div>
CSS
#wrapper {
width: 84px;
position: relative;
}
#element {
background-color: #3D668F;
height: 54px;
width: 100%;
position: relative;
z-index: 10;
}
#shadow {
background-color: #3D668F;
height: 8px;
width: 80px;
margin-left: -40px;
position: absolute;
bottom: 0px;
left: 50%;
z-index: 5;
-webkit-box-shadow: 0px 2px 4px #000000;
-moz-box-shadow: 0px 2px 4px #000000;
box-shadow: 0px 2px 4px #000000;
}
Orijinal Yanıt
Evet, bunu sağladığınız söz dizimiyle yapabilirsiniz. İlk değer yatay konumu ve ikinci değer dikey konumu kontrol eder. Öyleyse, ilk değeri şu şekilde 0pxve ikincisini istediğiniz gibi ofset olarak ayarlayın:
-webkit-box-shadow: 0px 5px #000000;
-moz-box-shadow: 0px 5px #000000;
box-shadow: 0px 5px #000000;
Kutu gölgeleri hakkında daha fazla bilgi için şunlara göz atın:
Umarım bu yardımcı olur.
box-shadow-bottomMevcut olmayan ve hiç kimse tarafından desteklenmeyen kabul edilen cevap referanslarınız . Yasal kutu-gölge teknikleri için nicolasgallagher.com/css-drop-shadows-without-images/demo adresine bakın .