css中的display以及position屬性

咱們都知道,元素分爲行內元素和塊級元素,在頁面佈局中,咱們經常須要讓行內元素具備塊級元素的特性,或者使塊級元素轉換成行內元素,這就要使用咱們的display屬性了.瀏覽器

   咱們先定義三個div:佈局

 

 

以上的三個div都是塊級元素,輸出的結果爲:spa

塊級元素的特徵就是各佔一行.3d

接下來用display將第二個div轉換成行內元素:(先看一下幾個現象)對象

1.blog

結果變成了:頁面佈局

2.it

將後面兩個div都轉成行內元素:io

結果是:容器

3.

只把第二個元素轉換爲行內元素,增長div的高度:

結果是這樣:

4.

把全部的div轉換成行內元素:

結果:

以上結果是由什麼致使的,咱們來分析一下:

首先,三個div是塊級元素,輸出的結果就是從上到下依次排列.

當我使用display將第二個div轉換成行內元素時,想像中的應該是第一個div獨佔一行第二個div和第三個div排在第三行,可是結果倒是現象1那樣,各佔一行,結果與想象不一致,因此咱們要多實踐.

接下來我繼續讓第二個和第三個div都轉換成行內元素,後兩個div排在了一行(現象2).

最後把全部的div轉成了行內元素,三個div都轉成了一行(現象4).

不知道大家注意到沒有:

1.(現象2)中,第二個div轉變成了行內元素以後,我寬度沒有任何的改變,可是結果就是被轉變的div沒有寬度.

2.在(現象3)中,我特地增長了div的高度,第二個div沒有任何變化

3.轉變成行內元素的div頂部緊跟着上一個div

其實這些都是行內元素的特性,既然都到這裏了,我仍是把它寫出來供你們參考吧:

1.針對行內元素設置的寬和高都是無效的.

2.行內元素的margin-left,margin-right有效,margin-top,margin-bottom無效.

 

以上現象已經充分顯現出了行內元素的特性.也體現出了display的做用.咱們再來看一個將行內元素轉換成塊級元素的例子:

先設置邊框及元素:

結果:

好像看不出什麼,那接下來:

將第二個span用display設置成塊級元素,增長span長度和高度的設置:

結果:

經過這個例子:咱們看到第二個span已經轉成了塊級元素,設置的寬和高都起了做用.

display是頁面佈局中經常使用的屬性,也是比較重要的屬性,咱們應該熟練掌握他的用法並加以應用.

 

 

再介紹一個position屬性:

position是一種定位的方法,它分爲相對定位,絕對定位,靜態定位以及固定定位:

先進行以下設置:

輸出結果:

咱們看到了div的位置如上圖所示:

先介紹相對定位(relative):

對.inner進行設置:

結果:

內層div的位置在外層div內發生了移動,它的參照對象是自己的div,不會脫離常規流,也不會對其餘的元素形成影響.

下面看絕對定位(absolute):

結果:

這個結果說明了絕對定位使元素脫離常規流,它的參照點變爲了容器的基點,也就是瀏覽器的基點.

可是,若是它外層的div也有設置position屬性的(除了static),那麼它的參照點就是外層div的左上頂點.

以下圖:

 

結果:

靜態定位:

是position的默認屬性:

設置:

結果:

靜態定位會使元素正常定位並按照元素出現的順序依次格式化,如上圖.

 

固定定位(fixed):

將元素固定在某一位置,不隨滾動條滾動而移動,這裏不作詳細的討論了.

相關文章
相關標籤/搜索