選擇器(標籤,class,id,子,後代,通用,偽類,分組)區別,繼承,
可以把要實現的元素的共同樣式放到一起,只能對<body>中的元素增加樣式,比如要設定h1,h2標題,
<style>
h1,h2{
}
大括號裡的設定並會應用到所有h1,h2標題。此時h1,h2也叫作"選擇器"(selector)
若要單獨實現h1效果,比如下劃線,只需在原有基礎上再寫一行
h1{
border-bottom:
}
●════════════════════════════ 標籤選擇器 ═════════════════════════════════●
標籤選擇器其實就是html程式碼中的標籤如<html>、<body>、<h1>、<p>、<img>。例如下面程式碼:
p{font-size:12px;line-height:1.6em;}
上面的css樣式程式碼的作用:為p標籤設定12px字號,行間距設定1.6em的樣式。
●════════════════════════════ class選擇器 ═════════════════════════════════●
類選擇器在css樣式編碼中是最常用到的,
.類選器名稱{css樣式程式碼;}
注意:
1、英文圓點開頭
2、其中類選器名稱可以任意起名(但不要起中文)
使用方法:
第一步:使用合適的標籤把要修飾的內容標記起來,如下:
<span>膽小如鼠</span>
第二步:使用class="類選擇器名稱"為標籤設定一個類,如下:
<span class="stress">膽小如鼠</span>
第三步:設定類選器css樣式,如下:
.stress{color:red;}/*引用的是class的值,別寫錯了*/
深入研究“類”
將greentea類的所有段落改為綠色p.greentea {
color:green;
}
將greentea類的所有引用改為綠色blockquote.greentea {
color:green;
}
將greentea類的所有元素改為綠色
.greentea{
color:green;
}
使用".classname"可以選擇這個類的所有元素。
一個元素可以加入多個類,可以在class屬性中放入多個類名,空格分開:
比如希望指定的<p>屬於greentea,raspberry和blueberry類
<p class="greentea raspberry blueberry">
●════════════════════════════ id選擇器═════════════════════════════════●
在很多方面,ID選擇器都類似於類選擇符,但也有一些重要的區別:
1、為標籤設定id="ID名稱",而不是class="類名稱"。
2、ID選擇符的前面是井號(#)號,而不是英文圓點(.)。
●════════════════════════════ 子選擇器 ═════════════════════════════════●
還有一個比較有用的選擇器子選擇器,即大於符號(>),用於選擇指定標籤元素的第一代子元素。如右側程式碼編輯器中的程式碼:
.food>li{border:1px solid red;}
這行程式碼會使class名為food下的子元素li(水果、蔬菜)加入紅色實線邊框。
●═══════════════════════════包含(後代)選擇器═══════════════════════════════●
即加入空格,用於選擇指定標籤元素下的後輩元素。如右側程式碼編輯器中的程式碼:
.first span{color:red;}
區別於子選擇器(child selector)
- 請注意這個選擇器與子選擇器的區別,子選擇器僅是指它的直接後代,或者你可以理解為作用於子元素的第一代後代。而後代選擇器是作用於所有子後代元素。後代選擇器通過空格來進行選擇,而子選擇器是通過“>”進行選擇。
- 總結:>作用於元素的第一代後代,空格作用於元素的所有後代。
●═══════════════════════════通用選擇器═══════════════════════════════●
通用選擇器是功能最強大的選擇器,它使用一個(*)號指定,它的作用是匹配html中所有標籤元素.如下使用下面程式碼使用html中任意標籤元素字型顏色全部設定為紅色:
* {color:red;}
●═══════════════════════════ 偽類選擇器═══════════════════════════════●
更有趣的是偽類選擇符,為什麼叫做偽類選擇符,它允許給html不存在的標籤(標籤的某種狀態)設定樣式,比如說我們給html中一個標籤元素的滑鼠滑過的狀態來設定字型顏色:
a:hover{color:red;font-size:20px}
上面一行程式碼就是為 a 標籤滑鼠滑過的狀態設定字型顏色變紅,並且字型放到20px
關於偽選擇符:
關於偽類選擇符,到目前為止,可以相容所有瀏鑑器的“偽類選擇符”就是 a 標籤上使用 :hover 了(其實偽類選擇符還有很多,尤其是 css3 中,但是因為不能相容所有瀏覽器,本教程只是講了這一種最常用的)。其實 :hover 可以放在任意的標籤上,比如說 p:hover,但是它們的相容性也是很不好的,所以現在比較常用的還是 a:hover 的組合。
●═══════════════════════════ 分組選擇器═══════════════════════════════●
當你想為html中多個標籤元素設定同一個樣式時,可以使用分組選擇符(,),如下程式碼為右側程式碼編輯器中的h1、span標籤同時設定字型顏色為紅色:
h1,span{color:red;}
它相當於下面兩行程式碼:
h1{color:red;} span{color:red;}
●═══════════════════════════繼承 ═══════════════════════════════●
繼承是一種規則,它允許樣式不僅應用於某個特定html標籤元素,而且應用於其後代(所有子元素).比如下面程式碼:如某種顏色應用於p標籤,這個顏色設定不僅應用p標籤,還應用於p標籤中的所有子元素文字,這裡子元素為span標籤。
p{color:red;}
<p>三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>
p標籤與p標籤中所有的子元素span的文字都為紅色。但注意有一些css樣式是不具有繼承性的。如border:1px solid red;
p{border:1px solid red;}
<p>三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>
只給p標籤設定了邊框為1畫素、紅色、實心邊框線,而對於子元素span是沒用起到作用的。
哪些CSS屬效能繼承 能影響文字外觀的樣式如字型font-family;字型顏色color;與字型有關的屬性font-size,font-weight,font-style. 但其他屬性諸如邊框不能繼承。自己多嘗試就會熟悉哪些能用。參見《CSS Pocket Reference》- 建立一個css檔案,檔案不能包含html元素,比如不需要<style>標誌,用em而不是<em>
- 使用<link type="text/css" rel="stylesheet" href="檔名.css">插入到各個頁面的<head>下(記得刪去<style>),就可以繼承css檔案中的規則。
- 可以使用多個樣式表,注意順序,越往下的<link>越優先 比如
<head>
<meta charset="utf-8">
<title>Head First Lounge</title>
<link type="text/css" rel="stylesheet" href="總公司.css"> (總公司設定的所有樣式將被首先使用)<link type="text/css" rel="stylesheet" href="飲料部.css"> (飲料部在總公司設定的樣式上做調整,甚至可覆蓋總公司的一些樣式)
<link type="text/css" rel="stylesheet" href="飲料部分部.css"> (分部又在飲料部的樣式上作調整,可以覆蓋上述的樣式)
</head>
<link>的其他屬性 針對要顯示的頁面型別(桌面PC,筆記本,平板,手機,頁面的印刷版本…),可新增media屬性 <link media="screen and (max-device-width:480px)"rel="stylesheet" href="檔名.css" > 類似,可建立一個查詢來匹配印表機裝置 <linkrel="stylesheet" href="loung-print.css" media="print" > (lounge-print檔案只有在媒體型別為media才會使用。說明需要我們要通過印表機檢視頁面)
總能使用更特定的選擇器覆蓋父選擇器中規定的屬性。