CSS屬性中Display與Visibility區(qū)別分析
發(fā)布時間:2012-01-06 11:42:27 作者:佚名
我要評論

visibility屬性是隱藏元素但保持元素的浮動位置,而display實際上是設置元素的浮動特征
visibility屬性用來確定元素是顯示還是隱藏,這用visibility="visible|hidden"來表示,
visible表示顯示,
hidden表示(僅)隱藏,不可恢復。
當visibility被設置為"hidden"的時候,元素雖然被隱藏了,
1、仍然占據(jù)它原來所在的位置。visibility會保留元素的位置.
2、元素被隱藏之后,就不能再接收到其它事件了,當其被設為"hidden"的時候,就不能再接收響應到事件了,因此也就無法通過JS令其顯示出來。
display屬性就有一點不同了。
none隱藏(元素消失),可恢復
inline,block顯示
1、display被設置為block(塊)時,容器中所有的元素將會被當作一個單獨的塊,就像<div>元素一樣,它會在那個點被放入到頁面中。(實際上你可以設置<span>的display:block,使其可以像<div>一樣工作。
2、display設置為inline,將使其行為和元素inline一樣---即使它是普通的塊元素如<div>,它也將會被組合成像<span>那樣的輸出流。最后是display被設置:none,這時元素實際上就從頁面中被移走,它下面所在的元素就會被自動跟上填充。
大多數(shù)人很容易將CSS屬性display和visibility混淆,它們看似沒有什么不同,其實它們的差別卻是很大的。
visibility屬性用來確定元素是顯示還是隱藏的,這用visibility="visible|hidden"來表示(visible表示顯示,hidden表示隱藏)。
當visibility被設置為"hidden"的時候,元素雖然被隱藏了,但它仍然占據(jù)它原來所在的位置。例:
提示:您可以先修改部分代碼再運行
注意到,當元素被隱藏之后,就不能再接收到其它事件了,所以在第一段代碼中,當其被設為"hidden"的時候,就不能再接收響應到事件了,因此也就無法通過鼠標點擊第一段文本令其顯示出來。
另一方面,display屬性就有一點不同了。visibility屬性是隱藏元素但保持元素的浮動位置,而display實際上是設置元素的浮動特征。
當display被設置為block(塊)時,容器中所有的元素將會被當作一個單獨的塊,就像<div>元素一樣,它會在那個點被放入到頁面中。(實際上你可以設置<span>的display:block,使其可以像<div>一樣工作。
將display設置為inline,將使其行為和元素inline一樣---即使它是普通的塊元素如<div>,它也將會被組合成像<span>那樣的輸出流。
下面看我實例的代碼和效果:
提示:您可以先修改部分代碼再運行
最后是display被設置:none,這時元素實際上就從頁面中被移走,它下面所在的元素就會被自動跟上填。(此時應用display: none;的元素相當于消失,而visibility: hidden;則只表示隱藏,位置還在。)
display 屬性分別為block, inline, none 值及使用visibility: hidden;的情況調試示例:
提示:您可以先修改部分代碼再運行
同時,關于display:inline;和float:left;兩者的區(qū)別可以參看該篇文章:
(display是指顯示狀態(tài),inline表示內聯(lián),特點是緊貼著前一個內聯(lián)元素,通常默認的內聯(lián)元素有span,a,em,strong等。而float表示的是浮動,float:left,是針對塊級元素的浮動形式,是不同形式的兩種狀態(tài)。)
http://www.andymao.com/andy/post/42.html
http://bbs.blueidea.com/thread-2596793-1-1.html
提示:您可以先修改部分代碼再運行
visible表示顯示,
hidden表示(僅)隱藏,不可恢復。
當visibility被設置為"hidden"的時候,元素雖然被隱藏了,
1、仍然占據(jù)它原來所在的位置。visibility會保留元素的位置.
2、元素被隱藏之后,就不能再接收到其它事件了,當其被設為"hidden"的時候,就不能再接收響應到事件了,因此也就無法通過JS令其顯示出來。
display屬性就有一點不同了。
none隱藏(元素消失),可恢復
inline,block顯示
1、display被設置為block(塊)時,容器中所有的元素將會被當作一個單獨的塊,就像<div>元素一樣,它會在那個點被放入到頁面中。(實際上你可以設置<span>的display:block,使其可以像<div>一樣工作。
2、display設置為inline,將使其行為和元素inline一樣---即使它是普通的塊元素如<div>,它也將會被組合成像<span>那樣的輸出流。最后是display被設置:none,這時元素實際上就從頁面中被移走,它下面所在的元素就會被自動跟上填充。
大多數(shù)人很容易將CSS屬性display和visibility混淆,它們看似沒有什么不同,其實它們的差別卻是很大的。
visibility屬性用來確定元素是顯示還是隱藏的,這用visibility="visible|hidden"來表示(visible表示顯示,hidden表示隱藏)。
當visibility被設置為"hidden"的時候,元素雖然被隱藏了,但它仍然占據(jù)它原來所在的位置。例:
提示:您可以先修改部分代碼再運行
注意到,當元素被隱藏之后,就不能再接收到其它事件了,所以在第一段代碼中,當其被設為"hidden"的時候,就不能再接收響應到事件了,因此也就無法通過鼠標點擊第一段文本令其顯示出來。
另一方面,display屬性就有一點不同了。visibility屬性是隱藏元素但保持元素的浮動位置,而display實際上是設置元素的浮動特征。
當display被設置為block(塊)時,容器中所有的元素將會被當作一個單獨的塊,就像<div>元素一樣,它會在那個點被放入到頁面中。(實際上你可以設置<span>的display:block,使其可以像<div>一樣工作。
將display設置為inline,將使其行為和元素inline一樣---即使它是普通的塊元素如<div>,它也將會被組合成像<span>那樣的輸出流。
下面看我實例的代碼和效果:
提示:您可以先修改部分代碼再運行
最后是display被設置:none,這時元素實際上就從頁面中被移走,它下面所在的元素就會被自動跟上填。(此時應用display: none;的元素相當于消失,而visibility: hidden;則只表示隱藏,位置還在。)
display 屬性分別為block, inline, none 值及使用visibility: hidden;的情況調試示例:
提示:您可以先修改部分代碼再運行
同時,關于display:inline;和float:left;兩者的區(qū)別可以參看該篇文章:
(display是指顯示狀態(tài),inline表示內聯(lián),特點是緊貼著前一個內聯(lián)元素,通常默認的內聯(lián)元素有span,a,em,strong等。而float表示的是浮動,float:left,是針對塊級元素的浮動形式,是不同形式的兩種狀態(tài)。)
http://www.andymao.com/andy/post/42.html
http://bbs.blueidea.com/thread-2596793-1-1.html
提示:您可以先修改部分代碼再運行
相關文章
- CSS Grid 是一種二維布局系統(tǒng),可以同時控制行和列,相比 Flex(一維布局),更適合用在整體頁面布局或復雜模塊結構中,這篇文章主要介紹了前端CSS Grid 布局詳解,需要的朋2025-04-16
CSS Padding 和 Margin 區(qū)別全解析
CSS 中的 padding 和 margin 是兩個非?;A且重要的屬性,它們用于控制元素周圍的空白區(qū)域,本文將詳細介紹 padding 和 margin 的概念、區(qū)別以及如何在實際項目中使用它們2025-04-07- will-change 是一個 CSS 屬性,用于告訴瀏覽器某個元素在未來可能會發(fā)生哪些變化,本文給大家介紹CSS will-change 屬性詳解,感興趣的朋友一起看看吧2025-04-07
- 本文給大家分享在 CSS 中,去除a標簽(超鏈接)的下劃線的幾種方法,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧2025-04-07
- 在前端開發(fā)中,CSS(層疊樣式表)不僅是用來控制網頁的外觀和布局,更是實現(xiàn)復雜交互和動態(tài)效果的關鍵技術之一,隨著前端技術的不斷發(fā)展,CSS的用法也日益豐富和高級,本文將2025-04-07
css中的 vertical-align與line-height作用詳解
文章詳細介紹了CSS中的`vertical-align`和`line-height`屬性,包括它們的作用、適用元素、屬性值、常見使用場景、常見問題及解決方案,感興趣的朋友跟隨小編一起看看吧2025-03-26淺析CSS 中z - index屬性的作用及在什么情況下會失效
z-index屬性用于控制元素的堆疊順序,值越大,元素越顯示在上層,它需要元素具有定位屬性(如relative、absolute、fixed或sticky),本文給大家介紹CSS 中z - index屬性的作用2025-03-21- 文章詳細介紹了CSS中的打印媒體查詢@mediaprint包括基本語法、常見使用場景和代碼示例,如隱藏非必要元素、調整字體和顏色、處理鏈接的URL顯示、分頁控制、調整邊距和背景等2025-03-18
CSS模擬 html 的 title 屬性(鼠標懸浮顯示提示文字效果)
本文介紹了如何使用CSS模擬HTML的title屬性,通過鼠標懸浮顯示提示文字效果,通過設置`.tipBox`和`.tipBox.tipContent`的樣式,實現(xiàn)了提示內容的隱藏和顯示,感興趣的朋友一起2025-03-10前端 CSS 動態(tài)設置樣式::class、:style 等技巧(推薦)
本文介紹了Vue.js中動態(tài)綁定類名和內聯(lián)樣式的兩種方法:對象語法和數(shù)組語法,通過對象語法,可以根據(jù)條件動態(tài)切換類名或樣式;通過數(shù)組語法,可以同時綁定多個類名或樣式,此外2025-02-26