1.opacity
opacity:0 将元素本身及其子元素都置为不可见的, 而元素本身依然占据它自己的位置并对网页的布局起作用, 它会响应用户交互.
2.visibility
visibility:hidden 将元素本身及其子元素都置为不可见的, 而元素本身依然占据它自己的位置并对网页的布局起作用, 它不会响应用户交互. 如果想让子元素显示, 则设置子元素的 visibility:visibility;
3.display
display:none 使用这个属性, 被隐藏的元素对网页的布局不起作用. 不仅如此, 一旦 display 设为 none 任何对该元素直接的用户交互操作都不可能生效. 此外, 读屏软件也不会读到元素的内容. 这种方式产生的效果就像元素完全不存在. 通过 DOM 依然可以访问到这个元素. 因此你可以通过 DOM 来操作它.
4.position
position:absolute 将 top 和 left 设置成足够大的负数, 相当于把元素放到可视区域外, 它不会影响布局, 能够让元素保持可操作性, 在读屏软件上可以被识别.
总结一下:
opacity,visibility 影响布局, 前者不影响交互, 后者影响交互;
display 不影响布局, 影响交互;
position 不影响布局, 不影响交互;
下面给出例子: 可以自行调试
web 前端开发学习 Q-q-u-n: 731771211, 分享学习的方法和需要注意的小细节, 不停更新最新的教程和学习方法 (详细的前端项目实战教学视频)
- <!DOCTYPE html>
- <HTML lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- <style>
- .div1 {
- width: 200px; height: 200px; background-color: #B4B4B4; opacity:0;
- }
- .div2 { width: 200px; height: 200px; background-color: goldenrod; visibility: hidden;
- }
- .div2-2 { width: 100px; height: 100px; background-color: lightsalmon; visibility: visible;
- }
- .div3{ width: 200px; height: 200px; background-color: green; display: none;
- }
- .div4 { width: 200px; height: 200px; background-color: greenyellow; position: absolute; top:-99em; }
- </style>
- </head>
- <body>
- <div class="div1">1</div>
- <div class="div2">2<div class="div2-2">2-2</div></div>
- <div class="div3">3</div>
- <div class="div4">4</div>
- <script>
- var div1 = document.querySelector(".div1");
- var div2 = document.querySelector(".div2");
- var div3 = document.querySelector(".div3");
- var div4 = document.querySelector(".div4");
div1.οnclick=function () {
- alert("div2");
- };
div2.οnclick=function () {
- alert("div2");
- };
div3.οnclick=function () {
- alert("div3");
- };
div4.οnclick=function () {
- alert("div4");
- };
- </script>
- </body>
- </HTML>
5. 通过 z-index 隐藏
- <style>
- div{
- z-index:-9999;
- }
- </style>
自己是一个 6 年的前端工程师, 希望本文对你有帮助!
这里推荐一下我的前端学习交流扣 qun:731771211 , 里面都是学习前端的, 如果你想制作酷炫的网页, 想学习编程. 自己整理了一份 2019 最全面前端学习资料, 从最基础的 HTML+CSS+JS[炫酷特效, 游戏, 插件封装, 设计模式] 到移动端 HTML5 的项目实战的学习资料都有整理, 送给每一位前端小伙伴, 每天分享技术
点击: 加入
来源: http://www.jianshu.com/p/6ec338517ac6