用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的值設置成足夠大的負數達到預期效果。