【问题标题】:Make background transperent and text not使背景透明且文字不透明
【发布时间】:2014-04-29 17:04:06
【问题描述】:

使用 opacity 我将整个 div 设为透明,但我想保持字体正常而没有不透明度。我无法为内容设置单独的类或 id,因为它是动态创建的。我也不能使用以下内容:background: rgba();

{opacity : '0.3'}

有什么建议吗?

【问题讨论】:

标签: javascript html css opacity


【解决方案1】:

为此,您需要添加背景图片透明背景。

然后在该图像上添加内容时,它会以 100% 的不透明度显示。

看到这个Opacity ,RGBA

【讨论】:

    【解决方案2】:

    使用 rgba 模式

    P{
       color:#fff;
        display:block;
        background: rgba(0,0,0,0.60);
    }
    

    DEMO

    【讨论】:

    • 如果他创建了 DIV 容器 opacity: 0.3; 您的示例将无济于事,因为它的目标是 p
    • 您可能希望添加 background: rgb(0,0,0,0.60); 作为旧浏览器的后备。在 rgba 规则之前添加它。否则它们根本就没有背景颜色。
    【解决方案3】:

    如果您不能使用background: rgba(),另一种解决方法是使用两个单独的容器,一个用于背景,另一个用于文本。参考这里https://stackoverflow.com/a/5135431/2965281

    【讨论】:

    • 对不起,因为我的页面已经生成,所以我不能使用任何选择器。
    • 然后,您可以尝试在生成器中使用内联样式
    【解决方案4】:

    你可以同时做到这一点

    background-color: rgba(0,0,0,0.3) /* rgb for (0,0,0) is black; opacity of 0.3 */
    

    background-color: hsla(0,0%,0%,0.3) /* same */
    

    “a”代表 Alpha 通道。

    有一个问题:不幸的是,它不适用于所有浏览器。

    这里是一个例子:http://jsfiddle.net/TGL45/

    要了解更多信息:

    http://css-tricks.com/yay-for-hsla/

    http://css-tricks.com/rgba-browser-support/

    【讨论】:

      【解决方案5】:

      使用 RGBA 格式作为背景颜色。 您可以尝试以下代码来获取背景不透明度:

      Working demo

      background:rgba(0, 0, 0, .6);
      

      【讨论】:

        猜你喜欢
        • 2016-12-02
        • 1970-01-01
        • 2011-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多