可替換元素和非可替換元素

元素是文檔結構的基礎,在CSS中,每一個元素生成了一個包含了元素內容的框(box,也譯爲「盒子」)。可是不一樣的元素顯示的方式會有所不一樣,例如<div><span>就不一樣,而<strong><p>也不同。在文檔類型定義(DTD)中對不一樣的元素規定了不一樣的類型,這也是DTD對文檔之因此重要的緣由之一。css

可替換元素和不可替換元素

從元素自己的特色來說,能夠分爲可替換元素(replaceable element)和不可替換元素(none-replaceable element)。html

可替換元素

可替換元素就是瀏覽器根據元素的標籤和屬性,來決定元素的具體顯示內容。瀏覽器

例如瀏覽器會根據<img>標籤的src屬性的值來讀取圖片信息並顯示出來,而若是查看(x)html代碼,則看不到圖片的實際內容;又例如根據<input>標籤的type屬性來決定是顯示輸入框,仍是單選按鈕等。spa

(x)html中的<img><input><textarea><select><object>都是替換元素。這些元素每每沒有實際的內容,便是一個空元素。.net

不可替換元素

(x)html 的大多數元素是不可替換元素,即其內容直接表現給用戶端(例如瀏覽器)code

例如:<p>段落的內容</p>
段落<p>是一個不可替換元素,文字「段落的內容」全被顯示。htm

顯示元素

除了可替換元素和不可替換元素的分類方式外,css 2.1中元素還有另外的分類方式:塊級元素(block-level)和行內元素(inline-level,也譯做「內聯」元素)。blog

塊級元素

在視覺上被格式化爲塊的元素最明顯的特徵就是它默認在橫向充滿其父元素的內容區域(塊級元素的流體特性),並且在其左右兩邊沒有其餘元素,即塊級元素默認是獨佔一行的。 圖片

典型的塊級元素有:<div><p><h1><h6><table>,等等。
浮動元素以及display屬性爲blocklist-item的元素都是塊級元素。element

行內元素

行內元素不造成新內容塊即在其左右能夠有其餘元素,例如<a><span><strong>等,都是典型的行內級元素。
幾乎全部的可替換元素都是行內元素,例如<img><input>等等。

設置元素的高度

  • 對於塊級元素

塊級元素具備heightwidth屬性,能夠經過他們直接設置寬和高

  • 對於可替換的元素(行內元素)

替換元素通常有內在尺寸和寬高比(auto時起做用),因此具備widthheight,能夠設定。
例如你不指定imgwidthheight時,就按其內在尺寸顯示,也就是圖片被保存的時候的寬度和高度。
對於表單元素,瀏覽器也有默認的樣式,包括寬度和高度。

  • 對於不可替換元素(行內元素)

經過line-height屬性來設置行高

補充:關於行高

圖片描述

從上到下四條線分別是頂線、中線、基線、底線,很像才學英語字母時的四線三格,咱們知道vertical-align屬性中有topmiddlebaselinebottom,就是和這四條線相關。

行高是指上下文本行的基線間的垂直距離,即圖中兩條紅線間垂直距離。

參考:

1.置換元素(替換元素)和非置換元素(不可替換元素)
2.css中替換元素和不可替換元素及顯示元素詳細探討
3.行內元素和塊級元素
4.爲什麼img、input等內聯元素能夠設置寬、高

相關文章
相關標籤/搜索