一、本质
让一个元素在页面中隐藏或者显示出来。
二、display属性
display 属性用于设置一个元素应如何显示。
- display: none ;隐藏对象
- display:block ;除了转换为块级元素之外,同时还有显示元素的意思
display 隐藏元素后,不再占有原来的位置。后面应用及其广泛,搭配 JS 可以做很多的网页特效。
案例:土豆网鼠标经过显示遮罩
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>土豆网遮罩层</title>
<style>
*{
padding: 0;
margin: 0;
}
.box{
position: relative;
width: 448px;
height: 252px;
margin: 100px auto;
}
.img{
width: 100%;
height: 100%;
}
.mask{
position: absolute;
top: 0px;
left: 0px;
/* 元素隐藏 */
display: none;
width: 448px;
height: 252px;
background: rgba(0, 0, 0, .4) url(./imags/arr.png) no-repeat center;
}
/* 当我们鼠标经过了 土豆这个盒子,就让里面遮罩层显示出来 */
.box:hover .mask{
display: block;
}
</style>
</head>
<body>
<div class="box">
<img src="./imags/tudou.jpg" alt="">
<div class="mask"></div>
</div>
</body>
</html>
三、visibility可见性
visibility 属性用于指定一个元素应可见还是隐藏。
visibility:visible ; 元素可视
visibility:hidden; 元素隐藏
visibility 隐藏元素后,继续占有原来的位置。
如果隐藏元素想要原来位置, 就用 visibility:hidden
如果隐藏元素不想要原来位置, 就用 display:none (用处更多 重点)
四、overflow溢出
overflow 属性指定了如果内容溢出一个元素的框(超过其指定高度及宽度) 时,会发生什么。
属性值 | 描述 |
---|---|
visible | 不剪切内容也不添加滚动条 |
hidden | 不显示超过对象尺寸的内容,超出的部分隐藏掉 |
scroll | 不管是否超出内容,总是显示滚动条 |
auto | 超出自动显示滚动条,不超出不显示滚动条 |
注意:
一般情况下,我们都不想让溢出的内容显示出来,因为溢出的部分会影响布局。
但是如果有定位的盒子, 请慎用overflow:hidden
因为它会隐藏多余的部分。
案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>overflow溢出内容隐藏</title>
<style>
.box{
width: 300px;
height: 200px;
background-color: yellow;
border: solid 1px;
margin: 100px auto;
}
</style>
</head>
<body>
<div class="box">马铃薯(学名:Solanum tuberosum L.),属茄科,一年生草本植物,块茎可供食用,是全球第四大重要的粮食作物,仅次于小麦、稻谷和玉米。马铃薯又名洋山芋、洋芋头、香山芋、洋番芋、山洋芋、阳芋、地蛋、土豆等(山西大同一带也称为山药)。在南方一些省份,也叫“冬薯”,因为常在收割完秋季水稻后,在冬季种植。</div>
</body>
</html>
可以看出,如果内容超出其盒子的大小,溢出的部分会影响布局。所以,可以设置溢出的部分隐藏。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>overflow溢出内容隐藏</title>
<style>
.box{
/* 内容溢出部分隐藏 */
overflow: hidden;
width: 300px;
height: 200px;
background-color: yellow;
border: solid 1px;
margin: 100px auto;
}
</style>
</head>
<body>
<div class="box">马铃薯(学名:Solanum tuberosum L.),属茄科,一年生草本植物,块茎可供食用,是全球第四大重要的粮食作物,仅次于小麦、稻谷和玉米。马铃薯又名洋山芋、洋芋头、香山芋、洋番芋、山洋芋、阳芋、地蛋、土豆等(山西大同一带也称为山药)。在南方一些省份,也叫“冬薯”,因为常在收割完秋季水稻后,在冬季种植。</div>
</body>
</html>