假設我有一個簡單的div,裏面有一些段落。文本上方的顯示框陰影
我想達到的DIV底部的漸變效果。
我試圖建立一個白色的影子
box-shadow: inset 0 -15px 10px white;
但顯然這並不工作,因爲box-shadow
總是下的文字出現。
如何在純CSS中完成此操作?
謝謝。
假設我有一個簡單的div,裏面有一些段落。文本上方的顯示框陰影
我想達到的DIV底部的漸變效果。
我試圖建立一個白色的影子
box-shadow: inset 0 -15px 10px white;
但顯然這並不工作,因爲box-shadow
總是下的文字出現。
如何在純CSS中完成此操作?
謝謝。
我能夠複製僅適用於CSS的效果,但它是一個小的hackish:
我把兩個div作爲兄弟:
<div class="container">
<div class="shadow"></div>
<div class="copy">
<p>Lorem ipsum dolor sit amet, ...</p>
</div>
</div>
以及位於它們絕對:
.container { position:relative; }
.shadow {
-webkit-box-shadow: inset 0px -15px 10px 0px rgba(255, 255, 255, 1);
-moz-box-shadow: inset 0px -15px 10px 0px rgba(255, 255, 255, 1);
box-shadow: inset 0px -15px 10px 0px rgba(255, 255, 255, 1);
height: 200px;
width: 300px;
z-index: 100;
position:absolute;
}
.copy {
max-height: 200px;
width: 300px;
overflow: hidden;
z-index: 0;
position: absolute;
}
唯一的麻煩就是對於這個工作時,您必須指定.shadow
類的高度。如果它將始終是相同的大小,那麼你可以使用它。否則使用PNG覆蓋可能會更有效。
喜歡的東西:
.shadow {
background: url(overlay.png) repeat-x bottom;
}
在所有其他div下創建一個div,併爲該div和頂部投影設置負底部邊距。你可以做到這一點,或者你可以做我所做的。用淡出保存一個PNG圖像,並將其設置爲絕對定位的div,位於包含文本的相對定位的div的底部。
提醒我前景圖像CSS規則會派上用場。 – DanMan 2011-12-28 15:29:57
什麼用 「後」 CSS選擇器?它甚至與IE8的工作:http://caniuse.com/#search=after
.container{
position: relative;
height: 100px;
overflow: hidden;
}
.container:after{
content: "";
position: absolute; top: 0; bottom: 0; left: -15px; right: -15px;
box-shadow: inset white 0 -15px 10px;
}
我使用負左邊和右邊放箱內主箱外,以避免對兩側的陰影。
這是我也使用的更乾淨的版本。 – actimel 2014-05-31 10:47:01
「它甚至可以與IE8一起工作」但是box-shadow沒有,所以誰在乎ie8 ?! :D – wintercounter 2014-07-22 11:24:37
這是對的,所以我想你可以使用這個技巧,並使用位於「後」塊底部的背景圖像,而不是「盒子陰影」。 – 2014-07-22 19:47:38
div {
height:300px;
color:red;
overflow-y: scroll;
}
div:after {
content: "";
box-shadow: 0px -50px 50px -50px #000 inset;
position:fixed;
top: 250px;
left:0;
width:100%;
height:50px;
overflow: hidden;
}
對.shadow類做'''top:0; right:0; bottom:0; left:0;'''而不是設置高度和寬度。不需要z-index。 – 2013-08-10 04:11:22
http://jsfiddle.net/EaXTB/4/簡化版 – 2013-08-10 04:29:26
這是不好的做法。它阻止文本,所以你不能選擇它。 – yarl 2016-12-10 23:35:46