overflow:hidden的三个作用
2020-05-31 本文已影响0人
徐慵仙
一、清除浮动
直接上代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.xiong1{
float: left;
background-color: pink;
height: 100px;
width: 100px;
}
.xiong2{
float: left;
background-color: skyblue;
height: 100px;
width: 100px;
}
.xiongbaba{
background-color: black;
}
</style>
</head>
<body>
<div class="xiongbaba">
<div class="xiong1">这是熊大</div>
<div class="xiong2">这是熊二</div>
</div>
<div class="qiang">光头强</div>
</body>
</html>
效果:
image.png看懂此处需要有浮动知识的基础。我们看到熊大和熊二,没有在熊爸爸里面,熊爸爸还是一条横线在上方,因为浮动脱离了标准流,此时我们只需要在熊爸爸里面加上这个overflow:hidden。
变身效果
image.png注意!!! 清除浮动,最常用的方式是伪元素和双伪元素的方式。
二、隐藏溢出
这是最原始的意思了,就是溢出部分不显示。
代码改成这样婶儿的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.xiong1{
background-color: pink;
height: 100px;
width: 100px;
}
.xiong2{
background-color: skyblue;
height: 100px;
width: 100px;
}
.xiongbaba{
background-color: black;
border: solid 1px red;
height: 150px;
}
</style>
</head>
<body>
<div class="xiongbaba">
<div class="xiong1">这是熊大</div>
<div class="xiong2">这是熊二</div>
</div>
<div class="qiang">光头强</div>
</body>
</html>
效果
妈呀,熊二跑出来了,不好看。
image.png
变身效果
image.png加上以后,熊二就规规矩矩在它应该在的位置了。
三、避免塌陷
what? 啥是塌陷。
给第一个div一个上边距,就会整体塌陷。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.xiong1 {
background-color: pink;
height: 100px;
width: 100px;
margin-top: 50px;
}
.xiong2 {
background-color: skyblue;
height: 100px;
width: 100px;
}
.xiongbaba {
background-color: black;
}
</style>
</head>
<body>
<div class="xiongbaba">
<div class="xiong1">这是熊大</div>
<div class="xiong2">这是熊二</div>
</div>
<div class="qiang">光头强</div>
</body>
</html>
效果
image.png不好啦!熊爸爸也跟着熊孩子下来了,也有了一个50上边距。上大招(加overflow:hidden)。
变身效果
.xiongbaba {
background-color: black;
border: solid 1px red;
overflow: hidden;
}
image.png