由於<img>
、<input>
屬於替換元素,替換元素通常有內在尺寸和寬高比(auto時起做用),因此具備width和height,能夠設定。javascript
元素是文檔結構的基礎,在CSS中,每一個元素生成了一個包含了元素內容的框(box,也譯爲「盒子」)。可是不一樣的元素顯示的方式會有所不一樣,例如<div>
和<span>
就不一樣,而<strong>
和 <p>
也不同。java
從元素自己的特色來說,能夠分爲替換和不可替換元素。瀏覽器
替換元素 : 瀏覽器根據元素的標籤和屬性,來決定元素的具體顯示內容。複製代碼
例如瀏覽器會根據<img>
標籤的src屬性的值來讀取圖片信息並顯示出來;根據<input>
標籤的type屬性來決定是顯示輸入框,仍是單選按鈕等。HTML中的<img>
、<input>
、<textarea>
、<select>
都是替換元素。這些元素每每沒有實際的內容,便是一個空元素,瀏覽器會根據元素的標籤類型和屬性來顯示這些元素。bash
HTML 的大多數元素是不可替換元素,即其內容直接表現給用戶端(例如瀏覽器)。複製代碼
例如<p>段落的內容</p>
,段落<p>
是一個不可替換元素,文字「段落的內容」全被顯示。ui
除了可替換元素和不可替換元素的分類方式外,CSS2.1中元素還有另外的分類方式:塊級元素(block-level)和行內元素(inline-level,也譯做「內聯」元素)。spa
在視覺上被格式化爲塊的元素,最明顯的特徵就是默認在橫向充滿其父元素的內容區域,並且在其左右兩邊沒有其餘元素,即獨佔一行。複製代碼
典型的塊級元素有:<div>
、<p>
、<h1>
到<h6>
,等等;經過CSS設定了浮動(float屬性)以及設定顯示(display)屬性爲「block」或「list-item」的元素都是塊級元素。可是浮動元素比較特殊,因爲浮動,其旁邊可能會有其餘元素的存在。而「list-item」(列表項<li>
),會在其前面生成圓點符號,或者數字序號。code
行內元素不造成新內容塊,即在其左右能夠有其餘元素。複製代碼
例如<a>
、<span>
、<strong>
等,都是典型的行內級元素。display屬性等於「inline」的元素都是行內元素。圖片
<img>
、<input>
等等。不過元素的類型也不是固定的,經過設定CSS 的display屬性,可使行內元素變爲塊級元素,也可讓塊級元素變爲行內元素。inline元素默認是基線對齊的 vertical-align=baselineip
from juicyangxj 2017-11-27複製代碼