元素的显示与隐藏
在CSS中有三个显示和隐藏的单词比较常见,我们要区分开,他们分别是 display visibility 和 overflow。
他们的主要目的是让一个元素在页面中消失,但是不在文档源码中删除。 最常见的是网站广告,当我们点击类似关闭不见了,但是我们重新刷新页面,它们又会出现和你玩躲猫猫!
display 显示
display 设置或检索对象是否及如何显示。
display : none 隐藏对象 与它相反的是display:block除了转换为块级元素之外,同时还有显示元素的意思。
特点: 隐藏之后,不再保留位置。
visibility 可见性
设置或检索是否显示对象。
visible : 对象可视
hidden : 对象隐藏
特点: 隐藏之后,继续保留原有位置。(停职留薪)
overflow 溢出
检索或设置当对象的内容超过其指定高度及宽度时如何管理内容。
visible : 不剪切内容也不添加滚动条。
auto : 超出自动显示滚动条,不超出不显示滚动条
hidden : 不显示超过对象尺寸的内容,超出的部分隐藏掉
scroll : 不管超出内容否,总是显示滚动条
溢出案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> div { width: 200px; height: 200px; border: 1px solid red; /*overflow: hidden; 溢出隐藏*/ overflow: scroll; /*scroll 滚动条 */ overflow: auto; /*auto 自动 */ } </style> </head> <body> <div> 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字 </div> </body> </html>
案例:播放图标的显示
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> a { display: block; width: 448px; height: 252px; margin: 100px; position: relative; } .mask { width: 100%; height: 100%; background:rgba(0, 0, 0, .4) url(images/arr.png) no-repeat center; position: absolute; top: 0; left: 0; display: none; /* 首先正常情况下 是隐藏的*/ } /*什么时候出来? 鼠标放到 a 身上 是a 里面的 mask 出来*/ a:hover .mask { /*:hover 鼠标经过a 然后 a 里面的 mask 就显示出来 所以这里用 后代选择器*/ display: block; /*显示出来*/ } </style> </head> <body> <a href="#"> <img src="images/tudou.jpg" height="252" width="448" alt=""> <div class="mask"></div> </a> <a href="#"> <img src="images/tudou.jpg" height="252" width="448" alt=""> <div class="mask"></div> </a> <a href="#"> <img src="images/tudou.jpg" height="252" width="448" alt=""> <div class="mask"></div> </a> </body> </html>