国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

關于CSS屬性中visibility隱藏和display消失的區別簡析

2024-07-11 08:34:00
字體:
來源:轉載
供稿:網友

了解Css的人應該都知道display:none;和visibility:hidden;之間的一些區別,當html元素被設置為display:none;后,瀏覽器不會解析該元素,“none”就是沒有,消失了,所以他不會再文檔流中占位。而visibility:hidden;僅僅是視覺上消失了,“hidden”也就是隱藏了,但是它所在的位置仍然還在,就像你把你個文件給隱藏了,但是這個文件在你的硬盤中仍然是占據一定空間的,只是你看不見而已。
對使用display:none;的元素,瀏覽器不會去解析,搜索引擎可能會認為被隱藏的文字屬于垃圾信息而被忽略,而且屏幕閱讀器(是為視覺上有障礙的人設計的讀取屏幕內容的程序)會忽略被隱藏的文字。
而對使用visibility:hidden;的元素,雖然隱藏了,但位置仍在,給人的感覺是“占著茅坑布拉斯”,要配合position:relative和position:absolute一起來用,沒有display:none;那么簡單、靈活。就另外一點,visibility:hidden;轉換為visibility:visible跟display:none;轉換為display:block;性能要好,因為display在切換可見性時會產生reflow,它要重新構建frame,當然要比visibility:visible慢。
如果你以上兩種方法都不想要的話,可以寫一個類:


.hidden{
overflow: hidden;
width: 0;
height: 0;
border:none;
}

就是采用overflow隱藏,然后把元素的基本屬性值設置為最小或無,當然,如果你要顯示的話,還得寫另一個相應的類。
CSS中的visibility和display兩個屬性很容易被混淆,因為它們看起來是做同樣的事情,但實際上,這兩個屬性是完全不同的。 visibility屬性用來設置一個給定的元素是否顯示(visibility="visible|hidden"),但是,雖然一個元素的visibility被設置為hidden,但是該元素仍然會占據設計的位置:


<script language=”JavaScript”>
function toggleVisibility(me)…{
if (me.style.visibility==”hidden”)…{
me.style.visibility=”visible”;
}
else …{
me.style.visibility=”hidden”;
}
}
</script>

<div onclick="toggleVisibility(this)" style="position:relative">
This example displays text that toggles between a visibility of ‘visible’ and ‘hidden’.
Note the behavior of the next line.</div><div>This second line shouldn’t
move, since visibility retains its position in the flow</div>


<script language=”JavaScript”>
function toggleVisibility(me){
if (me.style.visibility==”hidden”){
me.style.visibility=”visible”;
}
else{
me.style.visibility=”hidden”;
}
}
</script>

<div onclick="toggleVisibility(this)" style="position:relative">

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 科尔| 星子县| 涿州市| 瓦房店市| 桂阳县| 包头市| 临安市| 邯郸市| 庆云县| 平江县| 惠东县| 潞城市| 离岛区| 孟州市| 鄂温| 崇左市| 综艺| 神农架林区| 商水县| 桑日县| 武汉市| 新邵县| 革吉县| 辛集市| 南汇区| 绵竹市| 康乐县| 正阳县| 阿图什市| 新晃| 太白县| 郑州市| 张家口市| 夏津县| 云浮市| 聂拉木县| 互助| 阿图什市| 阜新| 桃江县| 牙克石市|