css隐藏元素的方法
1、利用opacity透明度来隐藏,opacity设置为0,它只是一种视觉隐藏,元素本身依旧占用它的位置并对网页的布局起到作用,它也同样影响用户交互。在读屏软件中会被识别。
2、visibility:规定元素 是否可见,一般设置为hidden,它可以很好的隐藏,不会影响用户的交互,在读屏软件中不会被识别。(visibility可能的值)
属性 | 意义 |
---|---|
visible | 默认值。元素是可见的。 |
hidden | 元素是不可见的。 |
collapse | 当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 “hidden”。 |
inherit | 规定应该从父元素继承 visibility 属性的值。 |
3、display:当display设置为none,任何对该元素直接打用户交互操作都不可能生效,被隐藏的元素完全不会占用空间,仿佛元素完全不存在一样。(display可能的值)
demo:html
<div class="boxBig">
<div class="box">111</div>
</div>
css:
.boxBig{
width: 200px;
height: 200px;
background-color: red;
}
.box {
height: 30px;
width: 70px;
background-color: yellowgreen;
/*opacity:0;*/
/*visibility:hidden;*/
/*display:none;*/
}
4、position:元素的定位。把position:absolutely;top:-4555px;left:-45545px;top和left设置成足够大的负数,相当于把元素放到可视区域外,它不会影响布局,能够让元素保持可操作性,在读屏软件上可以被识别。(position可能的值)
5、clip-path:可以创建一个只有元素的部分区域可以显示的剪切区域。区域内的部分显示,区域外的隐藏。剪切区域是被引用内嵌的URL定义的路径或者外部svg的路径,或者作为一个形状例如circle().。clip-path属性代替了现在已经弃用的剪切 clip属性。它只是一个实验中的功能,兼容性并不是很好, 用法:clip-pach:polygon(0px 0px,0px 0px,0px 0px,0px 0px);