96

所以我遇到了问题。我环顾四周,但没有运气。我想让我的身体背景透明,但文字不透明。就像现在一样,我一直在制作相同的不透明度。这是我的代码:

@charset "utf-8";
body {
    font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
    background-color: #42413C;
    margin: 0;
    padding: 0;
    color: #000;
}

/* ~~ Element/tag selectors ~~ */
ul, ol, dl { 
    padding: 0;
    margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
    margin-top: 0;
    padding-right: 15px;
    padding-left: 15px;
    opacity:1;
}
a img { 
    border: none;
}
a:link {
    color: #42413C;
    text-decoration: underline;
}
a:visited {
    color: #6E6C64;
    text-decoration: underline;
}
a:hover, a:active, a:focus {
    text-decoration: none;
}
.container {
    width: 750px;
    margin: 0 auto;
}
.content {
    padding:20px;
    width:710px;
    position:relative;
    background:#CCC;
    opacity: 0.5;
}
.fltrt {
    float: right;
    margin-left: 8px;
}
.fltlft { 
    float: left;
    margin-right: 8px;
}
.clearfloat { 
    clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
}
.header {
    top:0%;
    width: 750px;
    height: 200px;
    background-image: url(images/header.png);
    background-repeat:no-repeat;
    background-position:center;
}
.navbar {
    height: 50px;
    width: 750px;
    position: relative;
    z-index: 2;
}
#bg {
    position: fixed;
    top: 25%;
    left: 15%;
    z-index: -1;
}
div {
display: block;
}

这是我的网站(点击链接不要在你的 url 中输入“tccraft.net”,它会带你到 facebook 页面):http ://tccraft.net/index.php 谢谢!

4

7 回答 7

201

不要opacity用于此,将背景设置为 RGBA 值,而不是仅使背景半透明。在你的情况下,它会是这样的。

.content {
    padding:20px;
    width:710px;
    position:relative;
    background: rgb(204, 204, 204); /* Fallback for older browsers without RGBA-support */
    background: rgba(204, 204, 204, 0.5);
}

有关 css 中 rgba 值的更多信息和示例,请参阅http://css-tricks.com/rgba-browser-support/

于 2013-03-16T12:37:06.943 回答
23

对于完全透明的背景,请使用:

background: transparent;

否则,对于半透明颜色填充,请使用:

background: rgba(255,255,255,0.5); // or hsla(0, 0%, 100%, 0.5)

其中值是:

background: rgba(red,green,blue,opacity); // or hsla(hue, saturation, lightness, opacity)

您还可以将 rgba 值用于渐变背景。

要在图像背景上获得透明度,只需事先在您选择的图像编辑器中降低图像的不透明度。

于 2013-03-16T12:37:17.367 回答
2

opacity将使文本和背景都透明。改用半透明背景色,rgba()例如使用一个值。适用于 IE8+

于 2013-03-16T12:38:09.667 回答
0

如果您在现代浏览器中使用 RGBA,则不需要让旧版 IE 仅使用 RGB 给定颜色的非透明版本。

如果您不坚持仅使用 CSS 的解决方案,请尝试CSS3PIE。使用此语法,您可以在旧 IE 中看到与在现代浏览器中看到的完全相同的结果:

div {
    -pie-background: rgba(223,231,233,0.8);
    behavior: url(../PIE.htc);
}
于 2013-09-25T21:44:14.920 回答
0

要使您的身体背景透明,请尝试这种样式,它对我有用,在您想要的颜色代码末尾添加“广告”

background-color: #42413Cad !important;
于 2021-07-08T08:03:51.267 回答
0

我会为透明度添加十六进制颜色代码

背景色:#42413C+hexcode

https://gist.github.com/lopspower/03fb1cc0ac9f32ef38f4 会是这样的:

background-color: #42413C2E

它等于该颜色 + 18% alpha

于 2021-08-18T12:00:38.350 回答
-3
box-shadow: inset 1px 2000px rgba(208, 208, 208, 0.54);
于 2018-08-27T06:53:43.827 回答