CSS更改选项卡背景的不透明度而不影响选项卡上的文本[重复]

Posted

技术标签:

【中文标题】CSS更改选项卡背景的不透明度而不影响选项卡上的文本[重复]【英文标题】:CSS to change the opacity of tab background witout affecting text on tab [duplicate] 【发布时间】:2015-12-16 16:14:49 【问题描述】:

如何在不影响选项卡本身的文本的情况下降低导航栏中选项卡背景的不透明度? 例如,文本“关于我们”的不透明度为 1,但背景颜色的不透明度为 0.5。 这是我的 CSS 代码。

.navbar-default .navbar-nav > li > a:hover,
   .navbar-default .navbar-nav > li > a:focus
       color: #FFFFFF;
       background-color: #009eff;
   

【问题讨论】:

【参考方案1】:

您应该使用rgba 格式的颜色而不是hex。使用:

background-color: rgba(0, 158, 255, 0.5);

这是来自 Mozilla 开发者网站的rgba 的定义:

可以使用红绿蓝阿尔法模型 (RGBa) 定义颜色 rgba() 函数符号。 RGBa 将 RGB 颜色模型扩展到 包括 alpha 通道,允许指定 a 的不透明度 颜色。

a 表示不透明度:0=透明; 1=不透明;

【讨论】:

【参考方案2】:

您可以将背景设置为 RGBA 值,例如:

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus 
    color: #FFFFFF;
    background-color: rgba(0, 158, 255, 0.5);

此处不透明度 (alpha) 级别设置为 rgba(...) 函数的第四个参数。对rgba 的支持现在很好(http://caniuse.com/#search=rgba),但如果你想支持 IE8,那么这将不起作用。

【讨论】:

【参考方案3】:

RGBA 绝对是要走的路。可以这样想:您实际上是通过将不透明度 (alpha) 因子直接应用于背景颜色而不是对象本身的不透明度来影响对象背景的不透明度。因此,您的代码应该是这样的。

.navbar-default .navbar-nav > li > a:hover,
   .navbar-default .navbar-nav > li > a:focus
       color: #FFFFFF;
       background-color: rgba(0, 158, 255, 0.5);
   

【讨论】:

以上是关于CSS更改选项卡背景的不透明度而不影响选项卡上的文本[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap 3 选项卡上的 MVC 部分视图渲染更改

在另一个选项卡上更改视觉效果

如何在选项卡栏控制器中更新选项卡上的视图

如何在不影响子元素的情况下更改背景图像的不透明度?

删除 JFX 中选项卡后面的灰色 bg

在 Oracle 表单中的选项卡之间移动项目