1. 程式人生 > >選擇器(標籤,class,id,子,後代,通用,偽類,分組)區別,繼承,

選擇器(標籤,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》
  1. 建立一個css檔案,檔案不能包含html元素,比如不需要<style>標誌,用em而不是<em>
  2. 使用<link type="text/css" rel="stylesheet" href="檔名.css">插入到各個頁面的<head>下(記得刪去<style>),就可以繼承css檔案中的規則。
  3. 可以使用多個樣式表,注意順序,越往下的<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才會使用。說明需要我們要通過印表機檢視頁面)
總能使用更特定的選擇器覆蓋父選擇器中規定的屬性。