用css隐藏页面元素有很多种方法。在平时的开发中,主要使用以下几种:
- display的值设为none
- opacity的值设为0
- visibility的值设为hidden
- position的值设为absolute,然后将位置设到不可见区域
display
将display设为none,使元素不可见。使用这个属性时,被隐藏的元素不占据任何空间。
不过,通过DOM依然可以访问到这个元素。
opacity
opacity--透明度,将其值设为0,就是从视觉上隐藏了元素。而元素本身依然占据自己的位置并对网页的布局起作用
visibility
visibility的值设为hidden,如同opacity属性,被隐藏的元素依然会占据空间,对网页布局起作用。两者的不同点在于,visibility不会响应任何用户的交互,而opacity会响应交互
position
从上面可以知道,display不会影响网页的布局,但没有办法进行交互。opacity和visibility会影响布局。
当一个元素,既需要与之交互,又不影响布局时,只能考虑将元素移出可视区域。可以通过将left、top的值设置成足够大的负数达到预期效果。