1.width:0;/height:0;
這種方式的缺點是隱藏不了文字,如果需要隱藏文字,那么:
2.針對文字font-size:0;
3.針對文字color:transparent;
4.opacity:0;
原理是把元素設(shè)置為透明。opacity屬性的意思是設(shè)置一個元素的透明度。它不是為改變元素的邊界框(bounding box)而設(shè)計的。這一位著將opacity設(shè)置為0只能從視覺上隱藏元素。而元素本身依然占據(jù)它自己的位置并對網(wǎng)頁的布局起作用,它也將響應(yīng)用戶交互。
5.通過定位,把元素移出屏幕外即可。 假設(shè)有一個元素你想要與它交互,但是你又不想讓它影響你的網(wǎng)頁布局,沒有合適的屬性可以處理這種情況(opacity和visibility影響布局mdisplay不影響布局但又無法直接交互)。在這種情況下,只能考慮將元素移出可視區(qū)域。這個辦法既不會影響布局,有可能讓元素保持可以操作。
<style>
div{
position:absolute;
left:-999999px;
}
</style>
6.通過text-indent實現(xiàn)文字隱藏效果,通過負(fù)值縮進(jìn),超出可視區(qū)
<style>
div {
text-indent:-999999px;
}
</style>
適用于:給頁面添加logo,logo下面覆蓋想要被搜索引擎搜索到的文字,即可用這個方法。
7.通過z-index隱藏。
<style>
div{
z-index:-9999;
}
</style>
8.通過overflow來隱藏部分。
<style>
p{
width:16ch;
overflow:hidden;
white-space:pre;
text-overflow:ellipsis;
}
</style>
<p>這是一段文字這是一段文字這是一段文字這是一段文字</p>
超出7個漢字后的部分會被隱藏!
9.通過visibality將元素設(shè)置為不可見,如同opacity屬性,被隱藏的元素依然會對我們的網(wǎng)頁布局起作用。與opacity唯一不同的是它不會響應(yīng)任何用戶交互。此外元素在讀屏軟件中會被隱藏
注意,如果一個元素的visibility被設(shè)置為hidden,同時想要顯示它的某個子孫元素,只要將那個元素的visibility顯式設(shè)置為visible即可。
visibality隱藏盒子,而且占位置。
<style>
div{
visibality:hidden;
}
</style>
10.通過display將元素徹底隱藏,,且不占位置。display屬性依照詞義真正隱藏元素。將display屬性設(shè)為none確保元素不可見并且連盒模型也不生成。使用這個屬性,被隱藏的元素不占據(jù)任何空間。不僅如此,一旦display設(shè)為none任何對該元素直接打用戶交互操作都不可能生效。此外,讀屏軟件也不會讀到元素的內(nèi)容。這種方式產(chǎn)生的效果就像元素完全不存在。
任何這個元素的子孫元素也會被同時隱藏。為這個屬性添加過度動畫是無效的,他的任何不同狀態(tài)值之間的切換總是會立即生效。
不過請注意,通過DOM依然可以訪問到這個元素。因此你可以通過DOM來操作它。
<style>
div{
display:none;
}
</style>
11.max-width或者max-height設(shè)置為0即可
12.通過transform的translate將元素移出屏幕,原理同position的left;
<style>
div{
transform:translate(-99999px);
}
</style>
13.將元素的縮放scale設(shè)置為0即可;
<style>
div{
transform:scale(0);
}
</style>
14.通過skew讓元素重疊(空間想象,旋轉(zhuǎn)),原理類似width:0;
<style>
div{
transform:skew(90deg);
}
</style>
15.設(shè)置margin為負(fù)值
<style>
div{
margin:-99999px;
}
</style>
16.將元素裁剪:
<style>
div{
-webkit-clip-path:polygon(0px,0px,0px,0px,0px,0px,0px,0px);
}
</style>
type=”hidden”的表單元素寬度和高度都顯式設(shè)置為0
一個祖先元素是隱藏的,該元素是不會在頁面上顯示