css隱藏頁面元素的方法


用css隱藏頁面元素有許多種方法。

第一種方法【opacity: 0;】

opacity屬性通常用於設置一個元素的透明度,從另一個角度來看,如果透明度為0,也就從視覺上隱藏了該元素。

這個屬性不是為改變元素的邊界框(bounding box)而設計的,元素本身依然占據它自己的位置並對網頁的布局起作用,它也將響應用戶交互。

第二種方法【visibility: hidden;】

第二個要說的屬性是visibility。

將它的值設為hidden將隱藏我們的元素。

如同opacity屬性,被隱藏的元素依然會對我們的網頁布局起作用。

與opacity唯一不同的是它不會響應任何用戶交互。

此外,設置了該屬性之后,元素在讀屏軟件中會被隱藏。

另外要注意的是,如果一個元素的visibility被設置為hidden之后,卻想要顯示它的某個子孫元素,只要將那個子孫元素的visibility顯式設置為visible即可(樣式覆蓋)。

第三種方法【diaplay: none;】

display屬性依照詞義才是真正地隱藏了元素。

將display屬性設為none就能確保元素不可見並且連盒模型也不生成,使用這個屬性,被隱藏的元素不占據任何空間。

不僅如此,一旦display設為none任何對該元素直接打用戶交互操作都不可能生效。

此外,讀屏軟件也不會讀到元素的內容,因為這種方式產生的效果就像元素完全不存在。

任何這個元素的子孫元素也會被同時隱藏。

為這個屬性添加過度動畫是無效的,他的任何不同狀態值之間的切換總是會立即生效。

不過請注意,通過DOM依然可以訪問到這個元素。因此你可以通過DOM來操作它。

第四種方法【position: absolute;】

假設有一個元素你想要與它交互,但是你又不想讓它影響你的網頁布局,沒有合適的屬性可以處理這種情況(opacity和visibility影響布局mdisplay不影響布局但又無法直接交互)。

在這種情況下,只能考慮將元素移出可視區域,這個辦法既不會影響布局,有可能讓元素保持可以操作。

具體是通過將position屬性設置為absolute來實現(絕對定位)。

position: absolute;
top: -999px;
left: -999px;

第五種方法【clip-path】

隱藏元素的另一種方法是通過剪裁它們實現,具體是通過clip-path屬性,這個屬性比較新,瀏覽器兼容性也會比較差。

clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px);

但是了解一下還是很必要的。

 

"人總是要成長,不能總是停留在原地踏步。"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM