標籤:
本文根據在慕課網的學習筆記整理。
元素分類
在講解CSS布局之前,我們需要提前知道一些知識。
在CSS中,html中的標籤元素大體被分為三種不同的類型:塊狀元素、內嵌元素(又叫行內元素)和內聯塊狀元素。
常用的塊狀元素有:
<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
常用的內嵌元素有:
<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
常用的內聯塊狀元素有:
<img>、<input>
區塊層級元素
什麼是區塊層級元素?在html中<div>、 <p>、<h1>、<form>、<ul> 和 <li>就是區塊層級元素。
設定display:block就是將元素顯示為區塊層級元素。如下代碼就是將內嵌元素a轉換為塊狀元素,從而使a元素具有塊狀元素特點。
a{display:block;}
區塊層級元素特點:
1、每個區塊層級元素都從新的一行開始,並且其後的元素也另起一行。(真霸道,一個區塊層級元素獨佔一行)
2、元素的高度、寬度、行高以及頂和底邊距都可設定。
3、元素寬度在不設定的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設定一個寬度。
內嵌元素
在html中,<span>、<a>、<label>、<input>、 <img>、 <strong> 和<em>就是典型的內嵌元素(行內元素)(inline)元素。
當然塊狀元素也可以通過代碼display:inline將元素設定為內嵌元素。
如下代碼就是將塊狀元素div轉換為內嵌元素,從頁使用div元素具有內嵌元素特點。
內嵌元素特點:
1、和其他元素都在一行上;
2、元素的高度、寬度、行高及頂部和底部邊距不可設定;
3、元素的寬度就是它包含的文字或圖片的寬度,不可改變。
行內元素之間會產生間隙bug問題的情境:
<div>
<a>1</a>
<a>2</a>
<span>33333</span>
<span>44444</span>
<em>555555</em>
</div>
解決方案:
1、寫在一行,之間不要有空格之類的符號。
<div>
<a>2</a><span>44444</span><em>555555</em>
</div>
2、使用font-size:0
div{font-size:0;}
a,span,em{font-size:16px;}
內聯塊狀元素
內聯塊狀元素(inline-block)就是同時具備內嵌元素、塊狀元素的特點,代碼display:inline-block就是將元素設定為內聯塊狀元素。
(css2.1新增),<img>、<input>標籤就是這種內聯塊狀標籤。
inline-block元素特點:
1、和其他元素都在一行上;
2、元素的高度、寬度、行高以及頂和底邊距都可設定。
//我們為 a 元素設定了寬和高,但都沒有起到作用,//原因是a在預設的時候是內嵌元素,內嵌元素是不可以設定寬和高的。a{ width:20px;/*在預設情況下寬度不起作用*/ height:20px;/*在預設情況下高度不起作用*/ background:pink;/*設定背景顏色為粉色*/ text-align:center; /*設定文本置中顯示*/ display:inline-block;}
CSS元素分類