html中hidden的具体怎么用(前端常见面试题之display:none和visibility:hidden的区别)
html中hidden的具体怎么用(前端常见面试题之display:none和visibility:hidden的区别)visibility:hidden和display:none的区别<title><html><head><meta charset="utf-8">
display:none和visibility:hidden都可以让一个div消失,那他们具体的区别在哪里呢:
- visibility:hidden,内容不显示,但是内容占用相关空间;display:none,内容不显示,也不占用相关内存。
(1)visibility:hidden时,相关内容不显示,但是占用空间。
相关代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
visibility:hidden和display:none的区别
</title>
</head>
<body>
<ul>
<li>列表 A</li>
<li>列表 B</li>
<li style="visibility: hidden;">列表 C(visibility:hidden)</li>
<li>列表 D</li>
</ul>
</body>
</html>
(2)display:none时,相关内容不显示,也不占用空间
相关代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
visibility:hidden和display:none的区别
</title>
</head>
<body>
<ul>
<li>列表 A</li>
<li>列表 B</li>
<li style="display: none;">列表 C(display:none)</li>
<li>列表 D</li>
</ul>
</body>
</html>
2.visibility:hidden有继承性,父元素hidden,它的子元素也会继承hidden的属性,但是如果子元素有主见,自己单独定义一个visibility:visible的属性,那么子元素自己就可以显示出来。而display:none的父元素定义好后,子元素定义visibility:visible或者display:block是没有效果的。
(1)父元素应用visibility:hidden时,父元素被隐藏,如果子元素应用了visibility:visible 那么子元素就会正常显示出来。
相关代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
visibility:hidden和display:none的区别
</title>
</head>
<body>
<ul style="visibility: hidden;">
<li>列表 A</li>
<li>列表 B</li>
<li style="visibility: visible;">ul被隐藏,列表 C(visibility: visible)显示出来</li>
<li>列表 D</li>
</ul>
</body>
</html>
(2)如果父元素应用了display:none 子元素应用visibility:visible或display:block是不起作用的。
相关代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
visibility:hidden和display:none的区别
</title>
</head>
<body>
<ul style="display: none;">
<li>列表 A</li>
<li>列表 B</li>
<li style="visibility: visible;">ul被隐藏,列表 C(visibility: visible)显示不出来</li>
<li style="display: block;">列表 D(display:block)</li>
</ul>
</body>
</html>