相同点
都可以使得相应的元素消失(其实在整个dom树中,相对应的元素并没有真正的消失)
都可以通过动态控制来使得元素恢复
不同点
visibility:hidden 的元素会占据相应的空间位置,而display:none 不会。
实例
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<style> body { width: 100%; height: 100%; } div { width: 100px; height: 50px; margin: 0 auto; } </style>
<script> setInterval(() => { document.querySelector('div').style.display='block' document.querySelectorAll('div')[1].style.visibility='visible' }, 3000); </script>
</head>
<body>
<div class="div1" style="background-color: aqua;display: none;"></div>
<div class="div2" style="background-color: pink;visibility: hidden;"></div>
<div class="div3" style="background-color: red;"></div>
</body>
</html>
在开始时,只有div3显示出来了,但是上面还有一个div2的空间,虽然div2消失。
div1是没有占据任何空间
上面三个div其实都是存在于dom树结构中的,并没有消失。可以通过控制元素样式来再次让其显示。
最后, 三个div又全部都显示出来了。
今天的文章关于display:none ,visibility:hidden的关系和区别分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/21167.html