用 CSS 隱藏頁面元素的 5 種方法

2021-07-15 06:37:57 字數 1466 閱讀 4004

opacity屬性的意思是設定乙個元素的透明度。它不是為改變元素的邊界框(bounding box)而設計的。這意味著將 opacity 設為 0 只能從視覺上隱藏元素。而元素本身依然佔據它自己的位置並對網頁的布局起作用。它也將響應使用者互動。

.hide
第二個要說的屬性是visibility。將它的值設為hidden將隱藏我們的元素。如同opacity屬性,被隱藏的元素依然會對我們的網頁布局起作用。與opacity唯一不同的是它不會響應任何使用者互動。此外,元素在讀屏軟體中也會被隱藏。

這個屬性也能夠實現動畫效果,只要它的初始和結束狀態不一樣。這確保了 visibility 狀態切換之間的過渡動畫可以是時間平滑的(事實上可以用這一點來用 hidden 實現元素的)。

.hide
display屬性依照詞義真正隱藏元素。將display屬性設為none確保元素不可見並且連盒模型也不生成。使用這個屬性,被隱藏的元素不佔據任何空間。不僅如此,一旦display設為none任何對該元素直接打使用者互動操作都不可能生效。此外,讀屏軟體也不會讀到元素的內容。這種方式產生的效果就像元素完全不存在。

任何這個元素的子孫元素也會被同時隱藏。為這個屬性新增過渡動畫是無效的,它的任何不同狀態值之間的切換總是會立即生效。

不過請注意,通過 dom 依然可以訪問到這個元素。因此你可以通過 dom 來操作它,就像操作其他的元素。

.hide
假設有乙個元素你想要與它互動,但是你又不想讓它影響你的網頁布局,沒有合適的屬性可以處理這種情況(opacity 和 visibility 影響布局, display 不影響布局但又無法直接互動)。在這種情況下,你只能考慮將元素移出可視區域。這個辦法既不會影響布局,有能讓元素保持可以操作。下面是採用這種辦法的 css:

.hide
這種方法的主要原理是通過將元素的 top 和 left 設定成足夠大的負數,使它在螢幕上不可見。採用這個技術的乙個好處(或者潛在的缺點)是用它隱藏的元素的內容可以被讀屏軟體讀取。這完全可以理解,是因為你只是將元素移到可視區域外面讓使用者無法看到它。

隱藏元素的另一種方法是通過剪裁它們來實現。這可以通過clip屬性來實現,但是這個屬性被廢棄了,換成乙個更好的屬性叫做clip-path

記住,clip-path屬性還沒有被ie或edge完全支援。如果要在你的clip-path中使用外部的 svg 檔案,瀏覽器支援度還要更低。使用clip-path屬性來隱藏元素的**看起來如下:

.hide

用 CSS 隱藏頁面元素的 5 種方法

用 css 隱藏頁面元素的 5 種方法 opacity opacity 屬性的意思是設定乙個元素的透明度。這意味著將 opacity 設為 0 只能從視覺上隱藏元素,而元素本身依然佔據它自己的位置並對網頁的布局起作用,同時它將響應使用者互動。此外,元素在讀屏軟體中不會被隱藏。visibility 將...

用CSS隱藏頁面元素的5種方法

1.opacity 設定乙個元素的透明度只是從視覺上隱藏元素,對頁面布局還是有影響,讀屏軟體會原樣讀出 2.visibility 設定為hidden將隱藏我們的元素,對網頁布局還是起作用,子元素也會被隱藏,單獨設定子元素可見是生效的,讀屏軟體不會讀取 3.display 設定為none,相當於元素完...

用 CSS 隱藏頁面元素

用 css 隱藏頁面元素有許多種方法。你可以將 opacity 設為 0 將 visibility 設為 hidden 將 display 設為 none 將 position 設為 absolute 然後將位置設到不可見區域。opacity,佔據網頁布局,可以互動,讀屏軟體可以讀到它 opacit...