这篇“CSS-opacity子元素继承父元素透明度的实现方法”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“CSS-opacity子元素继承父元素透明度的实现方法”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们一起来看看具体内容吧。
分析原因:
父元素背景颜色设置透明度opacity:0.5,子元素会继承,给子元素设置opacity:1,子元素的透明度也是在父元素0.5的基础上设置的。
第一种方法:
父元素背景颜色设置透明度时,避免使用background:#000;opacity:0.5,建议使用background:rgba(0,0,0,0.5)
第二种方法:
如果设置背景色为渐变色等这种复杂背景,第一种方法就不在适用。
background-image:linear-gradient(-180deg,rgba(20,20,20,0.00)19%,#303030100%);
opacity:0.5;
因为子元素会继承父元素的opacity属性,我们让它不成为子元素。新增一个子元素,将其绝对定位到父元素位置,然后在该元素上设置背景色与透明度。
<divclass="container">
<divclass="content">
<p>我是class为content的DIV</p>
<p>我的背景是class为background的背景</p>
<p>通过相对定位和绝对定位,我把class为background的DIV移动到了我的位置。</p>
<p>同时通过我的较大的z-index浮在了它的上面。:)</p>
</div>
<divclass="background"></div>
</div>
.container{
width:300px;
height:250px;
color:#fff;
position:relative;
}
.content{
position:relative;
z-index:5;
width:100%;
height:100%;
overflow:hidden;
}
.background{
background-color:#37a7d7;
position:absolute;
top:0px;
left:0px;
width:100%;
height:100%;
z-index:1;
/*兼容IE7、8*/
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter:alpha(opacity=50);
opacity:.5;
}
感谢你的阅读,希望你对“CSS-opacity子元素继承父元素透明度的实现方法”这一关键问题有了一定的理解,具体使用情况还需要大家自己动手实验使用过才能领会,快去试试吧,如果想阅读更多相关知识点的文章,欢迎关注恰卡编程网行业资讯频道!