CSS 中 display,visiblity及 overflow 的作用和区别
很多人在使用 CSS 时,对 Display, Visibility 和 Overflow 三个属性的理解并不是很清晰,这里就对这三个属性做一下分析,对应三个属性在使用时的区别.
Display+ i E 7
display 用来设置或检索对象f - )是否及如何显示。
- display: none
display 属性为 none 时,隐藏标签对象。不会为对象保留其位置空间,它下面所在的元素会被自动上移占有被隐藏标签位置。
HTML 代码:
<div id=\"a\">n X lA</div>
<div id=\"b\">B</div>
<div id F 3=\"c\">C</div>CSS代2 A O | 7
#% 4 C 6a{
width: 300px;
height: 100px;
backgK u 0 A y i ? ^round-color: red;
overflow: visible;
}
#b{
width: 200px;
height: 300px;
background-V x | B X m 0color: blue;
}效果如下:
- overflow: hidden
overflow 值为 hidden时,会将超出* T k P Q m ` N 4对象尺寸的内容进行裁剪,将不出现滚动条。
HTML 代码:
<div id=\"a\">
<div id=\"b\">d ~ w L ( 6 2 s</div>
</div>CSS代码:
#a{
width: 300px;
height: 100px;
background-color: red;
overflow: hidden;C F % q 7 p K H
}
#b{
width: 200px;
height: 300px;
background-color: blue;
}效果如下:
- overflow: scroll
overflow 值为 scroll, 作用是将超出对象尺寸的内容进- C z b W行裁剪,并以滚动条的方$ E ; m q N = q式显示超出的内容 。
HTMLh P O 代码:
<div id=\"a\">
<div ii % /d=\"b\">&lr h Q 2 ~ * r Mt;/div>
</div>CSS代码:
#a{
width: 300px;
height: 100px;
background-color: red;
overflow: scroll;
}
#b{
width: 200px;
height: 300px;
background-color: blue;
}效果如下:
- overflow: auto
overflow 值为 auto时, 作用是在需要时剪切内容并添加滚动条,该值为body对象和textarea的默认值。
HTML 代码:
<div id=\d 2 / t e )"a\">
<div id=\"b\"></div>
</div>CSS代码:
#( + 3 Z $ pa{
width: 300px;
height: 100px;
background-color: red;
over9 H j + I Rflow: auto;
}
#b{
width: 200px;
height: 300px;
background-color: blue;
}效果如下:
总结:
- display 和 visibility 属性都是用 r z S 5 G u @ |来设置或检索对象是否及如何显示。
- 使用diplay 隐藏对象时,在文档流中不占空间.后续对象会占据隐藏对象位置。
- 使用 visibility 隐藏对象时,在文档流中会保| Y K O留隐藏对象所占用的空& U * ; t q间。
- overflow 主要用来检索或设置当对象的内容超过其指定高度及宽度时如何管理内容显示。