2010-10-19 70 views
26

我需要通過CSS3在邊框底部應用邊框陰影。我只想在底部應用CSS3陰影。這可能嗎?如何在邊框底部製作陰影?

+0

這在深度覆蓋的位置:http://stackoverflow.com/questions/5460129/drop-shadow-only-bottom-css3 – 2015-01-06 20:41:34

回答

46

嘗試:

div{ 
 
-webkit-box-shadow:0px 1px 1px #de1dde; 
 
-moz-box-shadow:0px 1px 1px #de1dde; 
 
box-shadow:0px 1px 1px #de1dde; 
 
    }
<div>wefwefwef</div>

它通常把從盒子的底部1px的模糊陰影1px的

box-shadow: [horizontal offset] [vertical offset] [blur radius] [color]; 
+9

這是件好事。但我只有底部邊框,我想遮蔽它。當我使用上面的代碼時,左側和右側的陰影也會出現。 – 2014-10-17 12:58:10

+0

所有這些asnwers是不相關的 - 因爲它總是產生其他不必要的陰影:) – 2017-10-22 20:47:13

+0

難道你不知道,有沒有底的影子呢?有陰影到處轉轉元素,除了頂部 – Green 2017-10-27 15:02:44

15

使用box-shadow沒有水平偏移量。

http://www.css3.info/preview/box-shadow/

例如,

div { 
 
    -webkit-box-shadow: 0 10px 5px #888888; 
 
    -moz-box-shadow: 0 10px 5px #888888; 
 
    box-shadow: 0 10px 5px #888888; 
 
}
<div>wefwefwef</div>

將有在側面上的輕微陰影具有大模糊半徑(在上述的例子5像素)

30

的問題是影子走出包含div的一面。爲了避免這種情況,模糊值必須等於擴展值的絕對值。

div { 
 
    -webkit-box-shadow: 0 4px 6px -6px #222; 
 
    -moz-box-shadow: 0 4px 6px -6px #222; 
 
    box-shadow: 0 4px 6px -6px #222; 
 
}
<div>wefwefwef</div>

在深度覆蓋here

2

新方法的老問題

enter image description here

好像在回答提供的問題一直是如何該框邊框可以在對象的左側和右側顯示,或者您必須將其插入到目標位置,否則它不會正確遮蔽容器的整個長度。

本示例使用:after僞元素以及具有透明度的線性漸變,以便將陰影投影到完全延伸到要陰影元素兩側的容器上。

值得注意與此解決方案是,如果您使用填充您希望投影的元素,它將無法正確顯示。這是因爲after僞元素將其內容直接追加到元素內部內容之後。所以如果你有填充,陰影會出現在框中。這可以通過消除外部容器上的填充(應用陰影)以及使用內部容器來應用所需的填充來克服。

例與填充和背景顏色的陰影DIV:

enter image description here

如果要更改陰影的深度,只需增加height風格在after僞元素。您也可以明顯地使線條漸變樣式變暗,變亮或更改顏色。

body { 
 
    background: #eee; 
 
} 
 

 
.bottom-shadow { 
 
    width: 80%; 
 
    margin: 0 auto; 
 
} 
 

 
.bottom-shadow:after { 
 
    content: ""; 
 
    display: block; 
 
    height: 8px; 
 
    background: transparent; 
 
    background: -moz-linear-gradient(top, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0) 100%); /* FF3.6-15 */ 
 
    background: -webkit-linear-gradient(top, rgba(0,0,0,0.4) 0%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */ 
 
    background: linear-gradient(to bottom, rgba(0,0,0,0.4) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ 
 
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0); /* IE6-9 */ 
 
} 
 

 
.bottom-shadow div { 
 
    padding: 18px; 
 
    background: #fff; 
 
}
<div class="bottom-shadow"> 
 
    <div> 
 
    Shadows, FTW! 
 
    </div> 
 
</div>