为什么没有overflow也能实现呢
来源:4-3 编程练习
宝慕林4199460
2019-04-27 12:09:58
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>浮动广告</title>
<style type="text/css">
.one{float: left;width:230px;height:400px;position:fixed;left:0;top: 50%;margin:-200px 0;}
.two{float: right;width:230px;height:400px;position:fixed;right: 0;top:50%;margin:-200px 0;}
.container{}
</style>
</head>
<body>
<div class="container">
<div ><img src="http://climg.mukewang.com/59c9f7ce0001839219034033.png">
</div>
<div class="one"><img src="http://climg.mukewang.com/5a3383c70001f1b702240364.png"></div>
<div class="two"><img src="http://climg.mukewang.com/5a3383d00001a3dd02240364.png"></div>
</div>
</body>
</html>为什么这里没有给.container设置overflow,也能实现呢,overflow必须设置在父元素上吗,可以在.one和.two样式中直接添加吗
1回答
同学你好,
1、水平方向上出现了滚动条,是因为body标签有外边距,可以设置margin值为0清除。
2、左右两侧盒子设置的高度有些大了:

图片没有完全填充,可以设置图片宽高都为100%,或者更改盒子和图片宽高一致:

这两种解决方式都是可以的。
3、左右两侧设置了固定定位就已经脱离文档流了,就不需要设置浮动了,去掉就可以。
参考修改:

4、这里不需要设置overflow:hidden;因为不需要超出隐藏,父容器高度也没有塌陷问题。这个属性一般都是添加在父容器中,如果子元素超出,可以隐藏;如果子元素浮动脱离文档流,父容器高度没有撑起来,也可以使用这个属性。one和two盒子也可以使用,但是里面只有一张图片,添加上没有意义。
祝学习愉快!
相似问题
回答 2
回答 3