重置子元素的透明度 - 枫树浏览器(三星电视应用程序)(Resetting the opacity

2019-06-21 06:25发布

我有一个创建具有子元素的透明元素的问题。 使用此代码的子元素会从父元素的不透明度值。

我需要重置/孩子的元素不透明度设为任意值。 参考浏览器是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; 
    }

编辑MARKUP

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

Answer 1:

你可能有问题(基于看着你的选择)是不透明影响了父母的所有子元素:

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

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

http://jsfiddle.net/Kyle_/TK8Lq/

但是有一个解决方案! 使用RGBA背景值,你可以有透明度,无论你想:)

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

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

http://jsfiddle.net/Kyle_/TK8Lq/1/


对于文本,你可以使用相同的RGBA代码,但设置为CSS的颜色属性:

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

但是,你必须使用一切RGBA这个工作,你必须删除不透明度为所有父元素。

http://jsfiddle.net/Kyle_/TK8Lq/2/



Answer 2:

凯尔的解决方案正常工作。

另外,如果你不喜欢使用RGBA,而是使用HEX,也有解决方案设置你的颜色。

用更少的为例,你可以使用一个混合,如:

.transparentBackgroundColorMixin(@alpha,@color) {
  background-color: rgba(red(@color), green(@color), blue(@color), @alpha);
}

并使用它像

.myClass {
    .transparentBackgroundColorMixin(0.6,#FFFFFF);
}

其实这是一个内置LESS功能还提供:

.myClass {
    background-color: fade(#FFFFFF, 50%);
}

请参阅如何十六进制颜色以更少的编译器RGBA转换?



Answer 3:

但是回答上述效果很好,谁喜欢使用十六进制颜色代码的人,你可以通过设置十六进制颜色本身的透明度。 EXP:#472d20b9 - 颜色设置不透明度,同时#472d20将是相同的颜色,但不透明度的最后两个值。 注:在工作Chrome和Firefox的罚款,而Edge和IE浏览器没有。 还没有机会测试它在其他浏览器。



文章来源: Resetting the opacity of a child element - Maple Browser (Samsung TV App)