CSS 中的 visibility 属性用来设置元素是否可见,您可以将该属性与 JavaScript 一起使用,来创建非常复杂的菜单或网页布局,比如在网页中做一些测试题时您可以使用 visibility 属性将题目的答案或解析隐藏起来,需要时再将其展示出来。
visibility 属性的可选值如下:
值 | 描述 |
visible | 元素是可见显示的,是默认的属性值 |
hidden | 隐藏元素,元素是不可见不显示的,但是元素还会占据原有的空间 |
collapse | 主要用来隐藏表格的行和列,隐藏的行或列所占的空间可以被其他表格内容使用;如果在其他元素上使用,其效果等同于“hidden” |
inherit | 元素会继承父元素的visibility属性值,就是父元素的visibility属性值是什么,该元素的visibility属性值就是什么。从父元素继承 visibility 属性的值 |
举例说明:
1. visible
可见的(默认的)使用方法
由于默认属性值是显示。所以三个小盒子都显示。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <!DOCTYPE html> < html > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < title >Document</ title > < style > div{ width: 100px; height: 100px; } .one{ background-color: palegreen; } .two{ background-color: palevioletred; } .three{ background-color: papayawhip; } </ style > </ head > < body > < div > </ div > < div > </ div > < div > </ div > </ body > </ html > |
运行结果:
2. hidden
当我们给第一个小盒子设置成不显示(visibility: hidden;)时,第二个小盒子依旧占有原来的位置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <!DOCTYPE html> < html > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < title >Document</ title > < style > div{ width: 100px; height: 100px; } .one{ background-color: palegreen; visibility: hidden; } .two{ background-color: palevioletred; } .three{ background-color: papayawhip; } </ style > </ head > < body > < div > </ div > < div > </ div > < div > </ div > </ body > </ html > |
运行结果:
注意:visibility隐藏元素后,继续占有原来位置。
如果隐藏元素想要原来位置,就用visibility:hidden
如果隐藏元素不想要原来位置,就用display:none
3. inherit
举例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | <!DOCTYPE html> < html > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < title >Document</ title > < style > .one,.two,.three{ width: 100px; height: 100px; } .one{ background-color: palegreen; } .two{ background-color: palevioletred; } .three{ background-color: papayawhip; } .four, .five{ width: 50px; height: 50px; background-color: powderblue; } </ style > </ head > < body > < div > < div ></ div > </ div > < div > < div > </ div > </ div > < div > </ div > </ body > </ html > |
运行结果:
当使用inherit属性值时。
(1)由于给第一个绿色大盒子设置了不显示,所以,第一个盒子里的蓝色小盒子继承了大盒子hidden属性,也不显示。
(2)第二个蓝色小盒子继承了粉色的大盒子的显示默认属性visible,所以显示。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | <!DOCTYPE html> < html > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < title >Document</ title > < style > .one,.two,.three{ width: 100px; height: 100px; } .one{ background-color: palegreen; visibility: hidden; } .two{ background-color: palevioletred; } .three{ background-color: papayawhip; } .four, .five{ width: 50px; height: 50px; background-color: powderblue; } </ style > </ head > < body > < div > < div ></ div > </ div > < div > < div > </ div > </ div > < div > </ div > </ body > </ html > |
运行结果:
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程