-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如何隐藏页面中的某个元素?(越多方式越好) #19
Comments
1.display:none |
将 opacity 设为 0、将 visibility 设为 hidden、将 display 设为 none 或者将 position 设为 absolute 然后将位置设到不可见区域。 |
1、display:none; |
1:display:none; |
|
|
1:opacity设置 0。 |
元素隐藏
<!--HTML结构-->
<div class="box">
<div class="self">qwwww</div>
</div>
|
|
1,display为none |
|
display:none; |
|
1、display:none; |
1、dispaly:none |
|
1、display: none; |
|
1、dispaly: none; |
1、visibility:hidden,元素会被隐藏,但是不会消失,依然占据空间,隐藏后不会改变HTML原有样式; |
隐藏类型
完全隐藏此方法会让元素从渲染树中消失,渲染的时候不占据任何空间,且不可进行DOM操作。 hide {
display: none;
} 此方法相当于 <div hidden></div> 语义上的隐藏此方法使读屏软件不可读,但正常占据空间,且可进行DOM操作。 <div aria-hidden="true"></div> 视觉上的隐藏此方法使肉眼不可见,但占据正常空间,且不可进行DOM操作。 hide {
visibility: hidden;
} 此方法使肉眼不可见,但占据正常空间,且可进行DOM操作。 hide {
opacity: 0;
} 此方法使肉眼不可见,但占据正常空间,且可进行DOM操作。 hide {
transform: scale(0, 0);
} 此方法把要隐藏的DOM移出到可视位置,不占据正常流,且可进行DOM操作。 :root {
--biu: -999999px;
}
hide {
position: absolute;
left: var(--biu);
top: var(--biu);
} 此方法使肉眼不可见,但占据正常空间,且可进行DOM操作。 hide {
clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px);
} 此方法使肉眼不可见,但占据正常空间,且可进行DOM操作。 :root {
--biu: rgba(0, 0, 0, 0);
}
hide {
border: 1px solid currentcolor;
color: var(--biu);
background: currentcolor;
...and so on;
} |
|
1.display:none |
display: none;
visibly: hidden;
opacity: 0;
top: -1000px;
transform: translateX()
height: 0;
overflow; hidden |
:root {
--biu: rgba(0, 0, 0, 0);
}
hide {
border: 1px solid currentcolor;
color: var(--biu);
background: currentcolor;
...and so on;
}
<element hidden>
z-index: -1; // 还有其他条件需要达成
transform: scale(0, 0);
好多属性和方法是第一次看到,今天又是收获满满的一天呢(^o^)/~ |
display: none; |
不占位 完全隐藏display:none 透明度隐藏opacity:0 属性hidden层级关系z-index 看情况而定 尺寸大小 |
1.display:none |
display:none; |
|
1.display:none |
1,display: none; |
|
|
|
display:none |
1.display: none; |
设置元素隐藏 1.display:none; /不占位隐藏/ |
(1)display:none (微信名:RUN) |
1).display:none |
|
display:none;的元素会直接从页面上消失,因此在该元素上绑定的事件不会生效。 visibility: hidden;的元素不会触发绑定的事件。 opacity:0; 的元素会触发绑定的事件,例如点击会触发click函数。 z-index层级的设置 position脱离文档流, overflow:hidden溢出元素的隐藏 |
|
1. opacity.hide-opacity {
opacity: 0;
} 通过下面的gif图,我们可以总结
2. visibility.hide-visibility {
visibility: hidden;
} 通过下面的gif动图,同样我们可以总结出
3. display是真正意义上的隐藏元素。 .hide-display {
display: none;
} 通过下面的gif动图,我们可以总结出
4. hiddenHTML5新增的
特点: 跟 5. position.hide-position {
position: absolute;
top: -9999px;
left: -9999px;
} 特点:
6. clip-path通过裁剪元素来实现隐藏。 .hide-clip {
clip-path: polygon(0 0, 0 0, 0 0, 0 0);
} 特点:
7. overflow通过设置元素的宽高为
必须加上 特点:
8. transform
或者
特点:
其他如果是纯文本的隐藏,可以设置
或者
还有一个是
差异性上面简单的罗列了8中隐藏元素的方式,其实给我们视觉上的效果,这些方法都可以让元素不可见(也就是我们所说的隐藏)。然而,屏幕并不是唯一的输出机制,比如说屏幕上看不见的元素(隐藏的元素),其中一些依然能够被读屏软件阅读出来(因为读屏软件依赖于可访问性树来阐述)。为了消除它们之间的歧义,我们将其归为三大类:
三种类型的隐藏总结下来如下表所示:
完全隐藏针对上面所列的8种方法,能够实现完全隐藏的只有下面这3种:
视觉上的隐藏
语义上的隐藏
其他区别
参考: |
1 display:none; |
1.将元素移出可视区范围
position:absolute;
left: -99999px;
position: relative;
left: -99999px; 如希望其在可视区域不占位置,需同时设置
margin-left: -99999px; 如果希望其在可视区域不占位,需同时设置 2.利用 transfrom
transform: scale(0); 如果希望不占据空间,需同时设置
transform: translateX(-99999px); 如果希望不占据空间,需同时设置
transform: skew(90deg);
height: 0;
transform: rotateY(90deg); 3.
|
6: transform: translateX(-1000px);
|
|
1.overflow:hidden 直接隐藏元素 |
No description provided.
The text was updated successfully, but these errors were encountered: