DIV中display和visibility屬性差異

DIV中display和visibility屬性差異

DIV中display和visibility屬性差異仍是挺大的,雖然Visibility和Display屬性均可以達到隱藏頁面元素的目的,但它們的區別在於如何迴應正常文檔流javascript

本節向你們描述一下DIV中display和visibility的差異,visibility屬性是隱藏元素但保持元素的浮動位置,而display其實是設置元素的浮動特徵,雖然它們均可以達到隱藏頁面元素的目的,但它們的區別在於如何迴應正常文檔流。java

DIV中display和visibility屬性差異this

visibility屬性:spa

肯定元素顯示仍是隱藏;
visibility="visible|hidden",visible顯示,hidden隱藏。code

當visibility被設置爲"hidden"的時候,元素雖然被隱藏了,但它仍然佔據它原來所在的位置。blog

例如:事件

<scriptlanguagescriptlanguage="javascript"> 
functiontoggleVisibility(me)  
{  
if(me.style.visibility=="hidden")  
{  
me.style.visibility="visible";  
}  
else  
{  
me.style.visibility="hidden";  
}  
}  
</script> 
 
<DIVonclickDIVonclick="toggleVisibility(this)"
style="position:relative"> 
第一行文本將會觸發"hidden"和"visible"屬性,注意第二行的變化。  
</DIV> 
<DIV>由於visibility會保留元素的位置,因此第二行不會移動.</DIV> 

 

 

看到第一行:因爲"hidden"和"visible"的影響會。由於visibility會保留元素的位置,因此第二行不會移動.
注意到,當元素被隱藏以後,就不能再接收到其它事件了,因此在第一行代碼成爲"hidden"的時候,就不能再接收響應到事件了,所以也就沒法經過鼠標點擊第一段文本令其顯示出來。ip

display屬性:文檔

就有一點不一樣了。visibility屬性是隱藏元素但保持元素的浮動位置,而display其實是設置元素的浮動特徵。it

block:
當display被設置爲block(塊)時,容器中全部的元素將會被看成一個單獨的塊,就像<DIV>元素同樣,它會在那個點被放入到頁面中。(實際上你能夠設置<span>的display:block,使其能夠像<DIV>同樣工做。

inline:
將display設置爲inline,將使其行爲和元素inline同樣---即便它是普通的塊元素如<DIV>,它也將會被組合成像<span>那樣的輸出流。

none:
最後是display被設置:none,這時元素實際上就從頁面中被移走,它下面所在的元素就會被自動跟上填充。

例如:

下面看我實例的代碼和效果:
例: 

<scriptlanguagescriptlanguage="javascript"> 
functiontoggleDisplay(me){  
if(me.style.display=="block"){  
me.style.display="inline";  
alert("文本如今是:'inline'.");  
}  
else{  
if(me.style.display=="inline"){  
me.style.display="none";  
alert("文本如今是:'none'.3秒鐘後自動從新顯示。");  
window.setTimeout("blueText.style.display='block';",
3000,"javascript");  
}  
else{  
me.style.display="block";  
alert("文本如今是:'block'.");  
}  
}  
}  
</script> 
 
<DIV>在<spanidspanid="blueText"
onclick="toggleDisplay(this)"  
style="color:blue;position:relative;cursor:hand;"> 
藍色</span>文字上點擊來查看效果.</DIV> 
 
 
相關文章
相關標籤/搜索