一.CSS引入方法:行內式、嵌入式、導入式、鏈接式。
1、行內式。
即:在標簽的style屬性中設定CSS樣式。
例子:<div style="background-color:red">行內式</div>
2、嵌入式
即:將頁面各種元素的設置集中寫在<head></head>標簽里。
例子:
<head>
<style type="text/css">
div{ background-color:blue; }
</style>
</head>
3、導入式
即:將一個外部CSS文件引入CSS文件或HTML文件,注意此方法既能在CSS文件里使用也能夠在HTML的<head></head>標簽之間使用。
<head>
<style type="text/css">
@import "main.css";
</style>
</head>
4、鏈接式
即:將一個外部CSS文件引入HTML文件
例子:
<head>
<link href="main.css" rel="stylesheet" tyle="text/css">
</head>
二、選擇器
1、ID選擇器
根據HTML元素的id屬性選擇元素。
例子:
CSS: #div1{ background-color:red; } /* 選中id為div1的HTML元素 */
HTML: <div id="div1">我是ID為div1的div元素</div>
2、class選擇器
根據HTML的class屬性選擇元素。
例子:
CSS: .left{ background-color:red }
HTML <div class="left">我是class="left"的div元素</div>
3、標簽選擇器
根據HTML標簽選擇元素
例子:
CSS: div{ background-color:blue; }
HTML: <div>我是一個div元素</div>
4、復合選擇器
4.1 交集選擇器
例子:
CSS: p.special{ color:red; } /* 選中class="special"的p元素 */
HTML:
<p>我是一個p</p> /* 不會被選中 */
<p class="special">我是一個class="special"的元素</p> /* 選中該行 */
4.2 並集選擇器
例子:
CSS: .special,div,p { background-color:red; }
HTML:
<span class="special">我是一個class屬性為span的元素</span>
<div>我是一個div元素</div>
<p>我是一個p元素</p>
以上三行HTML代碼都會被選中。
4.3 后代選擇器
后代選擇器:選中所有后代元素
例子:
CSS: .special p{ background-color:red; }
HTML:
<div class="special">
<p>我是.special里的p元素</p> /* 會被選中 */
<div>
<p>我是.special里的p元素</p> /* 會被選中 */
</div>
</div>
<p>我也是一個p</p> /* 不會被選中 */
直接后代選擇器
即:選擇直接子后代
CSS: .special>p{ background-color:red; }
<div class="special">
<p>我是.special里的p元素</p> /* 會被選中 */
<div>
<p>我是.special里的p元素</p> /* 不會被選中,因為不是直接子元素,是孫子元素了 */
</div>
</div>
<p>我也是一個p</p> /* 不會被選中,非子元素 */
五、屬性選擇器
CSS: a[title]{ font-size:30px; } //選中含有title屬性的a元素
<a title="a1" href="/">我是第一個a標簽</a> //會被選中,含有title屬性
<a href="/">我是第二個a標簽</a> //不會被選中,沒有title屬性
a[title="a1"]{ font-size:30px; } //選中title屬性=a1的元素
<a title="a1" href="/">我是第一個a標簽</a> //會被選中,含有title,並且title=a1
<a href="/">我是第二個a標簽</a> //不會被選中,沒有title屬性
<a title="a2" href="/">我是第一個a標簽</a> //不會被選中,title不=a1
其他屬性符號:a[title~='a1'] 選中<a title="a1 important"></a> 選中title屬性中包含a1的元素,注意a與其他值要有空格
a[title^='a1'] 選中<a title="a1bcd"></a> 選中title屬性以a1開頭的元素
a[title$='a1'] 選中<a title="bcda1"></a> 選中title屬性以a1結束的元素
a[title*='a1'] 選中<a title="xxa1xx"> 選中title屬性中包含a1的元素
a[title|='a1'] 選中<a title="a1-bcd"></a>或<a title="a1"></a> 選中title屬性中包含"a1-"開頭或等於"a1"的元素,常用於選擇src="logo-1","logo-2"等屬性。
六、相鄰兄弟選擇器"+"
CSS: span + p
HTML:
<div>
<span>我是一個span</span>
<p>我是一個p</p> <!--會被選中-->
<div>
<p>我也是一個P</p> <!--不會被選中。不是span的兄弟-->
</div>
</div>
六、CSS的繼承特性
子元素會繼承父元素中的樣式
CSS: p{ color:red; text-decoration:underline; }
b{ color:blue; }
HTML: <p>我是<b>p</b>元素</p> 顯示結果為:我是p元素
可以看到b繼承了下划線樣式,同時改變了顏色。(注:下划線仍然是紅色) 這樣就可以實現CSS樣式的共用。
六、CSS層疊特性
各個選擇器優先級排行:
行內樣式>ID選擇器>class選擇器>標簽選擇器
當連個選擇器優先級相同時,寫在前面>寫在后面。如:<p class="p1 p2">此時p1樣式優先</p>
七、偽類
a:link {color: #FF0000} /* 未訪問的鏈接 */
a:visited {color: #00FF00} /* 已訪問的鏈接 */
a:hover {color: #FF00FF} /* 鼠標移動到鏈接上 */
a:active {color: #0000FF} /* 選定的鏈接 */
p:first-child {font-weight: bold;}
:active 向被激活的元素添加樣式。
:focus 向擁有鍵盤輸入焦點的元素添加樣式。
:hover 當鼠標懸浮在元素上方時,向元素添加樣式。
:link 向未被訪問的鏈接添加樣式。
:visited 向已被訪問的鏈接添加樣式。
:first-child 向元素的第一個子元素添加樣式。
:lang 向帶有指定 lang 屬性的元素添加樣式。
八、偽元素
:first-letter 向文本的第一個字母添加特殊樣式。
:first-line 向文本的首行添加特殊樣式。 此偽類只能用於塊級元素。
:before 在元素之前添加內容。
:after 在元素之后添加內容。