css在灰色透明的背景下,如何才能使上面的字的颜色为白色?

html-css012

css在灰色透明的背景下,如何才能使上面的字的颜色为白色?,第1张

透明背景不是元素透明度,只有设置了元素的透明度才会出现字体也会透明,所以颜色无论设为哪一种色彩都不是理想的。

常用灰色背景透明正确方法:

1.

设置背景透明样式

.bg{

background-color:

rgba(255,255,255,.5)

},但是不支持ie低版本浏览器(ie8及以下);

2.

设置背景图片为半透明png图片.bg{

background-image:url(touming.png)},兼容性较好,但是ie6浏览器下需要引用‘ie6下png图片透明插件’(例如:DD_belatedPNG)。但是微软已经宣布淘汰ie6浏览器,ie6已不再成为兼容调节的主流。

首先,用大家比较熟悉的CSS属性opacity来改变div的背景颜色。

描述:

外面大的div背景颜色为黄色,里面小的div的背景颜色为红色,现在我们需要设置大的div的背景颜色变成半透明状态,我们将opacity的属性值设为0.5,代码如下:

HTML部分:

1

2

3

我是内容

CSS部分:

1

2

3

4

5

6

7

8

9

10

11

.aa{

width: 250px

height: 250px

background: yellow

opacity: 0.5

}

.bb{

width: 150px

height: 150px

background: red

}

背景颜色的确变成了半透明,但是里面小div的背景以及文字都变成半透明了,这可能不是我们想要的效果,所以我们一般不使用这种方法。当然了,如果在页面布局时,你希望div里面所有的都变透明,就用opacity。

接下来我们用另一种方法,background-color:rgba(0,0,0,0~1),使用这个方法就只会设置div背景透明,而不会影响到div里的内容。

HTM部分一样,只需要将opacity换成rgba即可。

代码如下:

1

2

3

4

5

6

7

8

9

10

.aa{

width: 250px

height: 250px

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

}

.bb{

width: 150px

height: 150px

background: red

}

大的div透明度改变以后,对里面的背景和文字都没有任何影响。所以我们一般用background-color:rgba(0,0,0,0~1)来设置背景颜色透明。