當前位置:才華齋>設計>網頁設計>

關於顯示html,行內標籤模式的淺談

網頁設計 閱讀(1.8W)

今天講課的時候,講到了html中的標籤的顯示模式,大致分為塊級標籤和行內標籤。那麼初學者在剛使用標籤的時候會發現有些屬性在一些標籤上不起作用,比如寬、高、水平居中等,其實這個屬性的使用只有在塊級標籤上使用才起作用。個人認為這個也是初學者非常容易忽略的地方,所以我就把它記下來!

關於顯示html,行內標籤模式的淺談

比如會有一種情況,給p標籤水平居中有作用,但是給font加水平居中屬性就沒作用(如下):

XML/HTML Code複製內容到剪貼簿 p{color:red;text-align:center;}
font{color:red;text-align:center;} XML/HTML Code複製內容到剪貼簿

我是塊級標籤p


我是行內標籤font

執行預覽之後p能使文字水平居中,但是font就不可以(如下):

那麼以上這個問題就和html中的顯示模式有關了:

顯示模式的特性:

主要分為兩大類:

塊級元素:獨佔一行,對寬高的屬性值生效;如果不給寬度,塊級元素就預設為瀏覽器的寬度,即就是100%寬;

行內元素:可以多個標籤存在一行,對寬高屬性值不生效,完全靠內容撐開寬高!

其中還有一種結合兩種模式有點的顯示模式:

行內塊元素:結合的行內和塊級的有點,不僅可以對寬高屬性值生效,還可以多個標籤存在一行顯示;

在html中顯示模式分為塊級和行內,其中常用的塊級有:div,p,h1~h6,ul,li,dl,dt,dd... 常用的行內有:span,font,b,u,i,strong,em,a,img,input,其中img和input為行內塊元素。

那麼有的同學就會想了,難道我就不可以控制span或者font的寬高了嗎?可以的,那麼我們這次拋開浮動和定位不說,就說通過display屬性來將它們互相轉換

1、塊級標籤轉換為行內標籤:display:inline;

2、行內標籤轉換為塊級標籤:display:block;

3、轉換為行內塊標籤:display:inline-block;

只要給對應的標籤使用這個display這個屬性,取相應的值,就可以將顯示模式互相轉換。

在這之前有說過text-align這個屬性是否生效,原因是塊級標籤如果不給寬度,塊級元素就預設為瀏覽器的'寬度,即就是100%寬,那麼在100%的寬度中居中生效;但是行內元素的寬完全是靠內容撐開,所以寬度就是內容撐開的寬,我們給個背景測試看看:

所以塊級是在盒子中間居中了,但是因為行內元素的寬就是內容寬,沒有可居中的空間,所以text-align:center;就沒有作用;但是如果給font轉換為塊級就不一樣了:

XML/HTML Code複製內容到剪貼簿 p{background:green;color:red;text-align:center;} font{background:green;color:red;text-align:center;display:block;}

同理,要是塊級轉換為行內了,文字也不能居中顯示了。

因為在html中,行內元素被視為有文字特性的標籤,塊級能使文字水平居中,那麼在塊級當中的行內標籤被視為文字的特性,那麼塊級使用text-align:center;的話,裡面的行內標籤會被像文字一樣水平居中在塊級標籤中:

不加text-align:center;時:

XML/HTML Code複製內容到剪貼簿 p{padding:5px;background:green;color:red;} font{background:yellow;} XML/HTML Code複製內容到剪貼簿

我是行內標籤font我是行內標籤font

加上text-align:center;後

XML/HTML Code複製內容到剪貼簿 p{padding:5px;background:green;color:red;text-align:center;} font{background:yellow;}