display屬性(元素轉換)


  

display屬性是我們在前端開發中常常使用的一個屬性,其中,最常見的有:

none

inline

block

inline-block

了解display屬性必須知道幾個重要的基本知識:塊級元素和行內元素。(注:實際上還有空元素,如<br>用於換行,

  <hr>為一條水平線)

塊級元素特點:

  • 總是以一個塊的形式表現出來,占領一整行。若干同級塊元素會從上之下依次排列(使用float屬性除外)。
  • 可以設置高度、寬度、各個方向外邊距(margin)以及各個方向的內邊距(padding)。
  • 當寬度(width)缺省時,它的寬度時其容器的100%,除非我們給它設定了固定的寬度。
  • 塊級元素中可以容納其他塊級元素或行內元素。
  • 常見的塊級元素由<p><div><h1><li>等等。
  • 塊級元素的display屬性值默認為block。

行內元素特點:

  • 它不會單獨占據一整行,而是只占領自身的寬度和高度所在的空間。若干同級行內元素會從左到右(即某個行

      內元素可以和其他行內元素共處一行),從上到下依次排列。

  • 行內元素不可以設置高度、寬度,其高度一般由其字體的大小來決定,其寬度由內容的長度控制。
  • 行內元素只能設置左右的margin值和左右的padding值,而不能設置上下的margin值和上下的padding值。因此我

     們可以通過設置左右的padding值來改變行內元素的寬度。

  • 常見的行內元素由<a><em><img>等等。
  • 行內元素一般不可以包含塊級元素。
  • 塊級元素的display屬性值默認為inline。

1.display:none;這個值表示此元素將不被顯示。

2.使用了display:block;之后, 此元素將顯示為塊級元素,此元素前后會帶有換行符。

通過對一個行內元素設置display: block;可以將行內元素設置為塊級元素,進而設置它的寬高和上下左右的padding和margin。

我們經常會制作導航欄,這時就要使用ul li 和a組合的方式,但是<a>是行內元素,我們無法設置它的寬和高,這時,就可以在<a>

的樣式表中,將之設置為display:block。這樣就可以設置它的寬和高,以及上下左右的margin和padding以達到我們想要的效果了。

 
< style >
         *{padding: 0;margin:0;list-style: none;}
         ul li{float: left;}
         a{display:block;width: 30px;height: 30px;background: yellow;margin: 5px; text-decoration: none;text-align: center;line-height: 30px;}
     </ style >
</ head >
< body >
     < ul >
         < li >< a  href="">1</ a ></ li >
         < li >< a  href="">2</ a ></ li >
         < li >< a  href="">3</ a ></ li >
         < li >< a  href="">4</ a ></ li >
         < li >< a  href="">5</ a ></ li >
     </ ul >
</ body >

 效果如下:

3.display:inline

  此元素會被顯示為內聯元素,元素前后沒有換行符。在第二部分中,我們介紹了行內元素和塊級元素。顯然,display:inline的作用即

可以將一個塊級元素轉換成行內元素,那么這個塊級元素將不能再設置寬和高以及上下方向的margin和padding。

4.

display:inline-block

  display:inline-block是行內塊元素,大家對這個屬性一定是不陌生的。根據名字,實際上我們就可以才出來它是結合了inline和block的特性於一身。

即設置了inline-block屬性的元素既具有block元素可以設置width和height屬性的特性,又保持了inline元素不換行的特性。

我們之前在做橫向導航菜單的時候,一般是用ul li a組合,然后將li設置為float,這樣就可以得到橫向的導航標簽了。而現在我們可以通過li和display:inline-block;來實現。

< style >
         ul,li,a,*{padding:0; margin:0;list-style: none;text-decoration: none;}
         li{display: inline-block;border: thin solid red;}
     </ style >
</ head >
< body >
     < ul >
         < li >< a  href="">1</ a ></ li >
         < li >< a  href="">2</ a ></ li >
         < li >< a  href="">3</ a ></ li >
         < li >< a  href="">4</ a ></ li >
         < li >< a  href="">5</ a ></ li >
     </ ul >

效果圖如下:

 


免責聲明!

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



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