ОНОВЛЕННЯ 4
Те саме, що оновлення 3, але з сучасним css (= менше правил), так що не потрібно спеціального розміщення на псевдоелементі.
#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>
ОНОВЛЕННЯ 3
Усі мої попередні відповіді використовували додаткову розмітку для створення цього ефекту, який необов'язково потрібен. Я вважаю це набагато чистішим рішенням ... єдиний трюк - це грати зі значеннями, щоб отримати правильне розташування тіні, а також правильну силу / непрозорість тіні. Ось нова загадка з використанням псевдоелементів :
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;
}
ОНОВЛЕННЯ 2
Мабуть, ви можете зробити це за допомогою лише додаткового параметра до CSS-box-shadow, як всі інші тільки що вказали. Ось демонстрація:
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;
Це було б кращим рішенням. Додатковий параметр, який додається, описується як:
Четверта довжина - відстань поширення. Позитивні значення змушують форму тіні розширюватися в усіх напрямках за заданим радіусом. Негативні значення призводять до того, що форма тіні стискається.
ОНОВЛЕННЯ
Ознайомтеся з демонстрацією на jsFiddle: http://jsfiddle.net/K88H9/4/
Що я зробив, це створити "тіньовий елемент", який ховався б за фактичним елементом, який ви хотіли б мати. Я зробив ширину "тіньового елемента" точно меншою, ніж фактичний елемент, у 2 рази більше вказаної вами тіні; потім я її правильно вирівняв.
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;
}
Оригінальний відповідь
Так, ви можете зробити це за тим самим синтаксисом, який ви вказали. Перше значення керує горизонтальним розташуванням, а друге значення - вертикальним. Тому просто встановіть перше значення, 0px
а друге - будь-який зсув, який ви хочете, наступним чином:
-webkit-box-shadow: 0px 5px #000000;
-moz-box-shadow: 0px 5px #000000;
box-shadow: 0px 5px #000000;
Для отримання додаткової інформації про тіньові коробки, перегляньте такі:
Я сподіваюся, що це допомагає.
box-shadow-bottom
яких не існує, і їх ніхто не підтримує. Дивіться nicolasgallagher.com/css-drop-shadows-without-images/demo щодо законних методів тіньового вікна.