CSS基礎知識筆記(二)之選取器,css選取器
CSS選取器
選取器{ 樣式; }
每一條css樣式聲明(定義)由兩部分組成,形式如下: 在{}之前的部分就是“選取器”,“選取器”指明了{}中的“樣式”的作用對象,也就是“樣式”作用於網頁中的哪些元素。
標籤選取器其實就是html代碼中的標籤。如右側代碼編輯器中的<html>、<body>、<h1>、<p>、<img>。例如下面代碼:
p{font-size:12px;line-height:1.6em;}
上面的css樣式代碼的作用:為p標籤設定12px字型大小,行間距設定1.6em的樣式。
類別選取器
類別選取器在css樣式編碼中是最常用到的,如右側代碼編輯器中的代碼:可以實現為“膽小如鼠”、“勇氣”字型設定為紅色。
文法:
.類選器名稱{css樣式代碼;} 注意: 1、
英文圓點開頭 2、其中
類選器名稱可以任意起名(但不要起中文噢) 使用方法: 第一步:使用合適的標籤把要修飾的內容標記起來,如下: <span>MyCSS</span> 第二步:使用class="類別選取器名稱"為標籤設定一個類,如下: <span
class="stress">MyCSS</span> 第三步:設定類選器css樣式,如下: .stress{color:red;}/*
類前面要加入一個英文
圓點*/
ID選取器
ID選取器都類似於類選擇符,但也有一些重要的區別:
1、為標籤設定id="ID名稱",而不是class="類名稱"。
2、ID選擇符的前面是井號(#)號,而不是英文圓點(.)。
CSS中#和.的區別
id:用來定義頁面中大的樣式,如欄目劃分,頂部,本文,底部等;用#top的形式來定義;
class:用來定義一些比較細節的樣式,如具體的一個菜單,一行文字等,用.text的形式來定義。
定義HTML中的標籤,如ul,img,p等時,直接寫:img{}
class是樣式組,用.style定義,class="style":
.style定義樣式組,可以被反覆調用,就是說你一個頁面裡,可以有多個元素用同一個style;
ID是固定標籤,用#style1定義,ID="style1"
#main和.main有什麼區別:
#main 定義的是ID為"main"這個元素的樣式
.main 的意思是建立一個名為"main"的樣式
#main 只能定義ID為"main"這個元素的樣式
.main 一但定義以後,可以讓其他的元素來調用,方法為class="main"
用#定義CSS樣式,在調用時必須用ID,用.定義CSS樣式,在調用時必須用CLASS。用#定義的樣式,一般都是定義結構架構,一些大的容器,且在同一個頁面只能出現一次;而.定義的樣式,一般都是起修飾作用或多次重複的樣式。還一點就是在同一個層裡同時出現ID和CLASS樣式,ID更優先於CLASS。
簡單來說: #main是定義具體對象main的專有屬性;.main是定義抽象對象的共有屬性main。比較廣泛的用途是#用於定義網頁架構;.用於定義各個網頁元素。#main中的main只能在網頁中出現一次,而.main中的main可以出現無數次。
eg:
.setBlue{ color: blue;}#setRed{ color: red;}
相同點:可以應用於任何元素
不同點:
1、ID選取器只能在文檔中使用一次。與類別選取器不同,在一個HTML文檔中,ID選取器只能使用一次,而且僅一次。而類別選取器可以使用多次。
2、可以使用類別選取器詞列表方法為一個元素同時設定多個樣式。我們可以為一個元素同時設多個樣式,但只可以用類別選取器的方法實現,ID選取器是不可以的(不能使用 ID 詞列表)。
子選取器
子選取器,即大於符號(>),用於選擇指定標籤元素的第一代子項目。如下代碼:
<head> <style> .setLable>label{ color: gold; } </style></head><body> <form method="post" accept="save.php" class="setLable"> <label for="username">Username</label> <input type="text" name="username" id="username" value=""/> <br> <lable for="password">Password</lable> <input type="password" name="pass" id="pass" value=""/> <br> <input type="submit" value="Sumit" name="submit"/> <input type="reset" value="Reset" name="reset"/> </form>
包含(後代)選取器
包含選取器:即加入空格,用於選擇指定標籤元素下的後輩元素。如右側代碼編輯器中的代碼:
.first span{color:red;}
這行代碼會使第一段文字內容中的“膽小如鼠”字型顏色變為紅色。
請注意這個選取器與子選取器的區別,子選取器(child selector)僅是指它的直接後代,或者你可以理解為作用於子項目的第一代後代。而後代選取器是作用於所有子後代元素。後代選取器通過空格來進行選擇,而子選取器是通過“>”進行選擇。
總結:>作用於元素的第一代後代,空格作用於元素的所有後代。
.setGreen option{ color: green;}<select multiple="multiple" class="setGreen"> <option value="House Blend">House Blend</option> <option value="Caffee Latte">Caffee Latte</option> <option value="Cappuccino">Cappuccino</option> <option value="Chain Tea">Chai Tea</option></select>
通用選取器
通用選取器是功能最強大的選取器,它使用一個(*)號指定,它的作用是匹配html中所有標籤元素,如下使用下面代碼使用html中任意標籤元素字型的字型大小為16px
*{ font-size: 16px;}
偽類選擇符
偽類選擇符,它允許給html不存在的標籤(標籤的某種狀態)設定樣式,比如說我們給html中一個標籤元素的滑鼠滑過的狀態來設定字型顏色:
a:hover{color:red;}
上面一行代碼就是為 a 標籤滑鼠滑過的狀態設定字型顏色變紅。這樣就會使第一段文字內容中的“膽小如鼠”文字加入滑鼠滑過字型顏色變為紅色特效。
關於偽類選擇符,到目前為止,可以相容所有瀏鑒器的“偽類選擇符”就是 a 標籤上使用 :hover 了(其實偽類選擇符還有很多,尤其是 css3 中。其實 :hover 可以放在任意的標籤上,比如說 p:hover,但是它們的相容性也是很不好的,所以現在比較常用的還是 a:hover 的組合。
分組選擇符
當為html中多個標籤元素設定同一個樣式時,可以使用分組選擇符(,),如下代碼為右側代碼編輯器中的h1、span標籤同時設定字型顏色為紅色:
h1,span{color:red;}
它相當於下面兩行代碼:
h1{color:red;}span{color:red;}
eg:
<style type="text/css">/*h1,span{color:red;}*/.first,#second>span{ color:green; }</style>