天天看點

css a 行還是塊,css中行内元素和塊級元素的差別到

一、行内元素和塊級元素的差別

1、 行内元素不會占據整行,在一條直線上排列,都是同一行,水準方向排列;

塊級元素會占據一行,垂直方向排列。

2、 塊級元素可以包含行内元素和塊級元素;行内元素不能包含塊級元素。

3、 行内元素與塊級元素屬性的不同,主要是盒模型屬性上,行内元素設定width無效,height無效(可以設定line-height),margin上下無效,padding上下無效。

二、行内元素和塊級元素的互相轉換

行内元素轉化為塊元素: display:block;

塊元素轉化為行内元素: display:inline;

三、問題延伸

問題描述:為何img、input等行内元素可以設定寬、高?

詳細解答:

元素是文檔結構的基礎,在CSS中,每個元素生成了一個包含了元素内容的框(box,也譯為“盒子”)。但是不同的元素顯示的方式會有所不同,例如

就不同,而和

也不一樣。在文檔類型定義(DTD)中對不同的元素規定了不同的類型,這也是DTD對文檔之是以重要的原因之一。

1. 替換和不可替換元素

從元素本身的特點來講,可以分為替換和不可替換元素。

a) 替換元素

替換元素就是浏覽器根據元素的标簽和屬性,來決定元素的具體顯示内容。

例如浏覽器會根據标簽的src屬性的值來讀取圖檔資訊并顯示出來,而如果檢視(X)HTML代碼,則看不到圖檔的實際内容;又例如根據标簽的type屬性來

決定是顯示輸入框,還是單選按鈕等。

(X)HTML中的、、、、都是替換元素。這些元素往往沒有實際的内容,即是一個空元素,例如:

css a 行還是塊,css中行内元素和塊級元素的差別到

浏覽器會根據元素的标簽類型和屬性來顯示這些元素。可替換元素也在其顯示中生成了框。

b) 不可替換元素

(X)HTML 的大多數元素是不可替換元素,即其内容直接表現給使用者端(例如浏覽器)。例如:

段落的内容

段落

是一個不可替換元素,文字“段落的内容”全被顯示。

2. 顯示元素

除了可替換元素和不可替換元素的分類方式外,CSS 2.1中元素還有另外的分類方式:塊級元素(block-level)和行内元素(inline-level,也譯作“内聯”元素)。

a) 塊級元素

在視覺上被格式化為塊的元素,最明顯的特征就是它預設在橫向充滿其父元素的内容區域,而且在其左右兩邊沒有其他元素,即塊級元素預設是獨占一行的。

典型的塊級元素有:

,等等。

通過CSS設定了浮動(float屬性,可向左浮動或向右浮動)以及設定顯示(display)屬性為“block”或“list-item”的元素都是塊級元素。

但是浮動元素比較特殊,由于浮動,其旁邊可能會有其他元素的存在。而“list-item”(清單項

),會在其前面生成圓點符号,或者數字序号。

b) 行内元素

行内元素不形成新内容塊,即在其左右可以有其他元素,例如、、等,都是典型的行内級元素。

display屬性等于“inline”的元素都是行内元素。幾乎所有的可替換元素都是行内元素,例如、等等。

不過元素的類型也不是固定的,通過設定CSS 的display屬性,可以使行内元素變為塊級元素,也可以讓塊級元素變為行内元素。

3. 結論:

替換元素一般有内在尺寸,是以具有width和height,可以設定。例如你不指定img的width和height時,就按其内在尺寸顯示,也就是圖檔被儲存的時候的寬度和高度。

對于表單元素,浏覽器也有預設的樣式,包括寬度和高度。

以上就是本文的全部内容,希望本文的内容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支援腳本之家!