【问题标题】:How to remove transparent color ( opacity ) [duplicate]如何去除透明色(不透明度)[重复]
【发布时间】:2013-04-14 06:57:04
【问题描述】:

我有以下代码:

html...

<div id="solidcolor">
    <div class="transcolor">transcolor
        <div class="notranscolor">some text</div>
    </div>
</div>

css..

#solidcolor{
    background: url("http://i45.tinypic.com/o5aycp.gif") repeat; 
    width: 200px; 
    height: 200px;
}
.transcolor{
    background: blue; 
    opacity: 0.4; 
    height: 100px;
}
.notranscolor{
    background: red; /* I want this color to solid color not transparent color*/
}

DEMO

编辑注释我不能使用 rgba() 方法来设置它的背景色,因为我必须设置线性渐变色。

编辑1

即使在应用绝对定位之后,我也无法得到正确的解决方案。但下一个想法我想用 calc() 方法来做到这一点,但它不会退出。有什么想法吗?

编辑2

正如@rokburgar 所说的那样,即使在应用绝对位置之后,我也无法解决我的问题。但是我想将不透明度设置为 1.25 我知道这应该是 0 到 1 但他说 0.4 * 1.0 = 0.4 像这样 0.8 * 1.25 = 1 那为什么它不起作用?

【问题讨论】:

  • 我用JS隐藏组件。

标签: html css transparency opacity


【解决方案1】:

因为 opactiy 是继承的,所以您必须分别指定不同元素的不透明度。您可以使用的一种方法是在单独的 span 中仅定义透明彩色文本,如下所示:

HTML

<div id="solidcolor">
    <div>
        <span class="transcolor">some transparent text</span>
        <div>some normal text</div>
    </div>
</div>

CSS

.transcolor {
    opacity: 0.4;
}



您可以使用的另一种方法是单独的 div,如下所示:

HTML

<div id="solidcolor">
    <div>
        <div class="transcolor">some transparent text</div>
        <div>some normal text</div>
    </div>
</div>

CSS

.transcolor {
    opacity: 0.4;
}

【讨论】:

    【解决方案2】:

    不透明度是继承的,不能简单地删除。人们会期望您可以重置子元素的透明度。

    你在这里所做的意思是:

    .notranscolor -> opacity: 0.4 * 1.0 = 0.4
    

    解决方案:

    绝对定位子div的内容。

    Transparency trick

    【讨论】:

    • 请检查已编辑的问题。
    猜你喜欢
    • 2014-09-08
    • 2021-09-27
    • 2019-04-05
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 2014-01-05
    相关资源
    最近更新 更多