我正在尝试将阴影添加到父对象中,其中包含一个子项< img>元素位于其中.我想插入阴影以重叠图像.
<section class="highlights"> <img src="images/hero.jpg" alt="" /> </section><!-- End section.highlights -->
和CSS:
.highlights { height: 360px; padding: 0; position: relative; overflow: hidden; opacity: 0.9; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; z-index:1; } .highlights img { height: auto; width: 100%; margin: 0 auto; display: block; position: relative; } .highlights { -webkit-Box-shadow: inset 0 0 10px 0 rgba(0,0.2); Box-shadow: inset 0 0 10px 0 rgba(0,0.2); }
阴影没有出现在我身上.我做错了什么?
解决方法
问题是图像渲染在插入框阴影的顶部.
我可以想到两种可能的方法,一种是在< img>上使用不透明度.将它推到阴影后面,第二种方法是将插入阴影定位在图像顶部.我更喜欢第二种方法,因为可以保留图像的完全不透明度.
注意:我已将边框设为大而红色以进行演示.
HTML
<section class="highlights"> <img src="http://lorempixel.com/500/360/city/1/" alt=""/> </section>
CSS
.highlights { height: 360px; padding: 0; position: relative; overflow: hidden; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; } .highlights img { height: auto; width: 100%; margin: 0 auto; display: block; opacity: .9; } .highlights { -webkit-Box-shadow: inset 0 0 10px 0 rgba(0,0.2); Box-shadow: inset 0 0 25px 25px red; }
CSS
.highlights { height: 360px; padding: 0; position: relative; overflow: hidden; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; } .highlights img { height: auto; width: 100%; margin: 0 auto; display: block; } .highlights::before { -webkit-Box-shadow: inset 0 0 10px 0 rgba(0,0.2); Box-shadow: inset 0 0 25px 25px red; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ""; }