1. 替換和不可替換元素
從元素本身的特點來講,可以分為替換和不可替換元素。
a) 替換元素
替換元素就是浏覽器根據元素的標簽和屬性,來決定元素的具體顯示內容。
例如浏覽器會根據<img>標簽的src屬性的值來讀取圖片信息並顯示出來,而如果查看(x)html代碼,則看不到圖片的實際內容;又例如根據<input>標簽的type屬性來決定是顯示輸入框,還是單選按鈕等。
(x)html中的<img>、<input>、<textarea>、<select>、<object>都是替換元素。這些元素往往沒有實際的內容,即是一個空元素,例如:
<img src=”cat.jpg” /> <input type="submit" name="submit" value="提交" />
浏覽器會根據元素的標簽類型和屬性來顯示這些元素。可替換元素也在其顯示中生成了框。
b) 不可替換元素
(x)html 的大多數元素是不可替換元素,即其內容直接表現給用戶端(例如浏覽器)。例如:
<p>段落的內容</p>
段落<p>是一個不可替換元素,文字“段落的內容”全被顯示。
2. 顯示元素
除了可替換元素和不可替換元素的分類方式外,css 2.1中元素還有另外的分類方式:塊級元素(block-level)和行內元素(inline-level,也譯作“內聯”元素)。
a) 塊級元素
在視覺上被格式化為塊的元素,最明顯的特征就是它默認在橫向充滿其父元素的內容區域,而且在其左右兩邊沒有其他元素,即塊級元素默認是獨占一行的。
典型的塊級元素有:<div>、<p>、<h1>到<h6>,等等。
通過css設定了浮動(float屬性,可向左浮動或向右浮動)以及設定顯示(display)屬性為“block”或“list-item”的元素都是塊級元素。
但是浮動元素比較特殊,由於浮動,其旁邊可能會有其他元素的存在。而“list-item”(列表項<li>),會在其前面生成圓點符號,或者數字序號。
b) 行內元素
行內元素不形成新內容塊,即在其左右可以有其他元素,例如<a>、<span>、<strong>等,都是典型的行內級元素。
display屬性等於“inline”的元素都是行內元素。幾乎所有的可替換元素都是行內元素,例如<img>、<input>等等。
不過元素的類型也不是固定的,通過設定css 的display屬性,可以使行內元素變為塊級元素,也可以讓塊級元素變為行內元素。
替換元素與塊級元素在格式編排中很多地方相同,如垂直邊界壓縮而水平邊界不壓縮,邊框和補白默認為0。
所有的替換元素都可以用height和width屬性進行縮放,如<img />標簽,如果一張圖片的寬,高為100px,那麼將height和width設置為auto時,圖片保持原來大小,但是設置為其它值時,就會發生縮放。