CSS3不透明度-仅限背景

17

我想改变导航背景颜色的透明度,但这也改变了导航链接的透明度。我该如何仅更改导航背景颜色的透明度?

这是我的导航样式:

#navigation { 
    height: 60px;
    width: auto;
    margin: 0 0 20px 0;
    background-color: black;
    border-radius: 8px;
    opacity: 0.7;
}

#navigation ul {
    list-style-type: none;
}

#navigation li {
    padding-left: 22px;
    float: left;
}

#navigation a {
    text-decoration: none;
    display: inline-block;
    float: left;
    padding: 10px 20px 10px 20px;
    color: white;
    margin-top: 10px;
    opacity: 1;
}

#navigation a:hover {
    background-color: orange;
    border-radius: 10px;
}
2个回答

14

你可以这样做:

background-color: rgba(0,0,0,0.7);

这将把黑色透明度的背景颜色更改为0.7,不影响其他任何内容。


1
请注意,IE <= 8 版本不支持 rgba!如果您需要支持这些版本,请考虑使用透明的背景图像或尝试将导航文本和包含背景的元素作为兄弟元素。 - mineichen

2

通过使用这种颜色:

background-color: rgba (0, 0, 0, .5); // black 

这样,它将是真实颜色的50%!

它过滤了alpha对象并为您提供了具有一定透明效果的真实颜色部分。


1
谢谢!我如何只更改背景图像的不透明度? - user2997822
为什么你的图形程序不加入透明度呢? :) - mineichen
@MarkusI。也许需要以编程方式设置不透明度? - Christopher Roy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接