为什么遮罩层不能使用float来实现,请大神看看我的代码有问题吗?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS布局</title>
<style type="text/css">
*{
margin: 0;
padding:0;
}
.div1{
float:left;
width:380px;
height:240px;
background:#000;
opacity:0.3;
}
img{
width: 380px;
height: 240px;
}
</style>
</head>
<body>
<nav>
</nav>
<div class="div1"></div>
<div>
<img src="http://img1.sycdn.imooc.com/climg//58f829ca00010be703840240.jpg">
</div>
</body>
</html>
正在回答
遮罩层是要完全脱离文档流才能实现的,而浮动不是完全脱离文档流的,浮动是不会脱离文本流的,比如,这样写就是可以遮住的:
但是如果你这么写,文本内容就会出来,不被遮盖:
这就是float的特性,盒子可以被遮盖,但是里面的内容遮不住。、
祝学习愉快!
浮动本来就不是用来设置遮罩层的,当然实现的不对了。你设置了浮动之后两个块在一行显示,是不会重叠的。
正确的应该这么写:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>CSS布局</title> <style type="text/css"> *{ margin: 0; padding:0; } .pre{ position: relative; } .div1{ position: absolute; top: 0; left: 0; width:380px; height:240px; background:#000; opacity:0.5; } img{ width: 380px; height: 240px; } </style> </head> <body> <nav> </nav> <div class="pre"> <img src="http://img1.sycdn.imooc.com/climg//58f829ca00010be703840240.jpg"> <div class="div1"></div> </div> </body> </html>
不同的技术有着不同的作用,我们不能硬拿设置字体大小的属性给字体设置颜色,同学不要钻了牛角尖哦。
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星