DIV中display和visibility屬性差別


DIV中display和visibility屬性差別

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

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

DIV中display和visibility屬性差別

visibility屬性:

確定元素顯示還是隱藏;
visibility="visible|hidden",visible顯示,hidden隱藏。

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

例如:

<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"的時候,就不能再接收響應到事件了,因此也就無法通過鼠標點擊第一段文本令其顯示出來。

display屬性:

就有一點不同了。visibility屬性是隱藏元素但保持元素的浮動位置,而display實際上是設置元素的浮動特征。

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> 
 
 

 


免責聲明!

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



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