小编典典

重置子元素的不透明度-Maple浏览器(Samsung TV App)

css

创建具有子元素的透明元素时遇到问题。使用此代码,子元素将从父元素获取不透明度值。

我需要将孩子的元素不透明度重置/设置为任意值。参考的浏览器为Maple Browser (for a Samsung TV Application)

 .video-caption {
        position: absolute;
        top:50px;
        width: 180px;
        height: 55px;
        background-color: #000;
        -khtml-opacity:.40; 
        -moz-opacity:.40; 
        -ms-filter:"alpha(opacity=40)";
        filter:alpha(opacity=40);
        filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0.4); /*just for testing*/
        opacity:.40; 
    }
    .video-caption > p {
        color: #fff !important;
        font-size: 18px;
        -khtml-opacity:1; 
        -moz-opacity:1; 
        -ms-filter:"alpha(opacity=100)";
        filter:alpha(opacity=100);
        filter: progid:DXImageTransform.Microsoft.Alpha(opacity=1);
        opacity:1; 
    }

编辑标记

<div> <img id="videothb-1" src="https://xxxxx/splash.jpg"> <div class="video-caption"> <p>Description here</p> </div> </div>

阅读 312

收藏
2020-05-16

共1个答案

小编典典

您可能遇到的问题(基于查看选择器)是不透明度会影响父对象的所有子元素:

div
{
    background: #000;
    opacity: .4;
    padding: 20px;
}

p
{
    background: #f00;
    opacity: 1;
}​

但是有解决方案!使用rgba背景值,您可以随时随地保持透明:)

div
{
    background: rgba(0, 0, 0, 0.4);
    /*opacity: .4;*/
    padding: 20px;
}

p
{
    background: rgba(255, 0, 0, 1);
    /*opacity: 1;*/
}​

对于文本,您可以只使用相同的rgba代码,但是将其设置为CSS的color属性:

color: rgba(255, 255, 255, 1);

但是您必须在所有内容上使用rgba才能使此功能起作用,您必须删除所有父元素的不透明度。

2020-05-16