描述:
外面大的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)来设置背景颜色透明。
<html>
<head><title>图片,透明层,文字</title>
<style>
#box1{
float:left/*浮动定位和相对定位都可以,我这里用的是浮动定位。*/
width:20%
height:15em
margin-left:3%
margin-top:3%
}
#box2{
float:left/*浮动定位和相对定位都可以,我这里用的是浮动定位。*/
width:100%
height:100%
border:1px solid black/*给图片做个边框*/
overflow:hidden/*不准溢出来,做动画效果的时候可能会溢出来,溢出来的部分隐藏起来。*/
}
#picimg{
float:left/*浮动定位和相对定位都可以,我这里用的是浮动定位。*/
width:100%
height:100%
}
#touming{
position:relative/*这个透明层尽量用相对定位,这样不会跑来跑去,原因目前还不怎么清楚,反正相对ok*/
clear:both/*清除浮动效果,避免到时候到处乱跑,比如做了过渡动画的时候。*/
width:100%
height:1.5em
top:-13.5em
background:gray
filter:alpha(Opacity=30)/*设置透明效果30*/
-moz-opacity:0.3/*设置透明效果0.3*/
opacity: 0.3/*设置透明效果0.3*/
left:0/*距离box1距离是0,实际上距离box2的距离也是0*/
}
#words{
position:relative/*这里用相对定位*/
clear:both/*清除浮动,这个很有必要,不清除浮动会到处乱跑的。*/
width:100%/*相对于box1的宽度,实际上也等于box2的宽度*/
height:2em
color:red/*设置文字颜色为红色,你自己喜欢什么颜色就弄什么颜色,我比较喜欢红色。*/
top:-15em/设置成负的,把文字提到box2上面去/
left:0/*相对于box1,左边距离设置成0*/
text-align:center
}
</style>
</head>
<body>
<div id="box1">
<div id="box2">
<img id="picimg" src="https://www.baidu.com/img/bd_logo1.png">
</div>
<div id="touming"></div>
<div id="words">这里是要显示的文字</div>
</div>
</body>
</html>
效果图:
效果还不错,透明层有透明效果,文字可以正常显示出来。这个方法还行吧,哈哈。我还会用三个div画一个心形,好看得很哟!!@