塊級元素(block level):
塊級元素:元素呈現“塊”狀,有自己的寬度和高度,也就是可以設置寬(width)和高(height),除此之外,獨自佔據一行高度(float浮動除外),一般可以作爲其他容器使用,可容納塊級元素和行內元素。塊級元素有以下特點:
- 每個塊級元素都是獨自佔一行。
- 元素的高度(height)、寬度(width)、行高(line-height)和邊距(margin、padding)都是可以設置的。
- 元素的寬度如果不設置的話,默認爲父元素的寬度(父元素寬度100%)。
常見塊級元素:
<body>、<address>、 <caption>、<dd>、<div>、<dl>、<dt>、<fieldset>、<form>、<h1>~<h6>、<hr>、 <legend>、<li>、<noframes>、<noscript>、<ol>、<ul>、<p>、<pre>、<table>、<tbody>、<td>、<tfoot>、<th>、<thead>、<tr>
注意:塊級元素內能嵌套塊級元素、行內元素。但是h1-h6、p、dt這幾個塊級元素不能嵌套塊級元素。
行內元素(inline):
行內元素不可以設置寬(width)和高(height),但可以與其他行內元素位於同一行,行內元素內一般不可以包含塊級元素。行內元素的高度一般由元素內部的字體大小決定,寬度由內容的長度控制。行內元素有以下特點:
- 每一個行內元素可以和別的行內元素共享一行,相鄰的行內元素會排列在同一行裏,直到一行排不下了,纔會換行。
- 行內元素的高度(height)、寬度(width)、行高(line-height)及內、外邊距的底和頂邊距(margin-top、padding-top、margin-bottom、padding-bottom)不可設置。
- 元素的寬度就是它包含的文字或圖片的寬度,不可改變。
常見行內元素有以下:
<a> //標籤可定義錨
<abbr> //表示一個縮寫形式
<acronym> //定義只取首字母縮寫
<b> //字體加粗
<bdo> //可覆蓋默認的文本方向
<big> //大號字體加粗
<br> //換行
<cite> //引用進行定義
<code> // 定義計算機代碼文本
<dfn> //定義一個定義項目
<em> //定義爲強調的內容
<i> //斜體文本效果
<img> //向網頁中嵌入一幅圖像
<input> //輸入框
<kbd> //定義鍵盤文本
<label> //標籤爲 input 元素定義標註(標記)
<q> //定義短的引用
<samp> //定義樣本文本
<select> // 創建單選或多選菜單
<small> //呈現小號字體效果
<span> //組合文檔中的行內元素
<strong> //加粗
<sub> //定義下標文本
<sup> //定義上標文本
<textarea> //多行的文本輸入控件
<tt> //打字機或者等寬的文本效果
<var> // 定義變量注意:行內元素內只能嵌套行內元素,不能夠嵌套塊級元素。
行內塊級元素 inline-block:
行內塊級元素,它既具有塊級元素的特點,也有行內元素的特點,它可以自由設置元素寬度和高度,也可以在一行中放置多個行內塊級元素。比如input、img就是行內塊級元素,它可以設置高寬以及一行多個。具體特點如下:
- 和其他行內或行內塊級元素元素放置在同一行上;
- 元素的高度、寬度、行高以及頂和底邊距都可設置。
注意:img和input元素雖然屬於行內元素,但是又可以細分爲行內替換元素。所以它表現的像行內塊級元素一樣。