這是一篇關(guān)于CSS
基礎跟選擇器的筆記,畢竟自己的記性沒有筆記本好用,所以記錄一下,以后忘了也好有地方翻一下,復習重溫。
CSS介紹
我們可以使用HTML
構(gòu)建穩(wěn)定的結(jié)構(gòu)基礎,而頁面的風格樣式控制則交給CSS
來完成。網(wǎng)頁的樣式包括各種元素的顏色、大小、線形、間距等等,這對于設計或維護一個數(shù)據(jù)較多的網(wǎng)站來說,工作量是巨大的。好在可以使用CSS
來控制這些樣式,這將大大提高網(wǎng)頁設計和維護的效率,并且使網(wǎng)頁的整體風格很容易做到統(tǒng)一。
CSS概述
CSS
是英文Cascading Style Sheet
的縮寫,中文譯為層疊樣式表,也有人翻譯為級聯(lián)樣式表,簡稱樣式表。它是一種用來定義網(wǎng)頁外觀樣式的技術(shù),在網(wǎng)頁中引入CSS
規(guī)則,可以快捷高效地對頁面進行布局設計,可以精確的控制HTML
標記對象的寬度、高度、位置、字體、背景等外觀效果。
CSS
是一種標識性語言,不僅可以有效的控制網(wǎng)頁的樣式,更重要的是實現(xiàn)了網(wǎng)頁內(nèi)容與樣式的分離,并允許將CSS
規(guī)則單獨存放于一個文檔中, CSS
文件的擴展名為“css”。
CSS3
CSS3
標準早在1995年就開始制訂, 2001年提上W3C
研究議程,但是,10年來CSS3
可以說是基本上沒有什么很大的變化,一直到2011年6月才發(fā)布了全新版本的CSS3
,目前,許多瀏覽器都廣泛支持CSS3
。
CSS3
是CSS
技術(shù)的一個升級版本,CSS3語言
將CSS
劃分為更小的模塊,在朝著模塊化的方向發(fā)展。以前的版本是一個比較龐大而且比較復雜模塊,所以,把它分解成為一個個小的簡單的模塊,同時也加入了更多新的模塊。在CSS3
中有字體、顏色、布局、背景、定位、邊框、多列、動畫、用戶界面等等多個模塊。
CSS的基本用法
CSS
的使用規(guī)則由兩部分組成:選擇器和一條或多條聲明。其基本基本語法如下:
選擇器{
屬性1: 值;
屬性2: 值;
…
屬性n: 值;
}
CSS屬性
CSS
的屬性按照相關(guān)功能進行了分組,包含了字體、文本、背景、列表、動畫等多個分組,這些屬性的具體使用方法和示例將會在后續(xù)中提到。
在HTML文檔中使用CSS的方法
根據(jù)CSS
在HTML
文檔中的使用方法和作用范圍不同,CSS
樣式表的使用方法分為三大類:行內(nèi)樣式、內(nèi)部樣式表和外部樣式表,而外部樣式表又可分為鏈入外部樣式表和導入外部樣式表。本節(jié)我們從四個分類來認識在HTML
中使用CSS
的方法。
- 行內(nèi)樣式
- 內(nèi)部樣式表
- 外部樣式表
- 鏈入外部樣式表
- 導入外部樣式表
行內(nèi)樣式
行內(nèi)樣式(inline style),也叫內(nèi)聯(lián)樣式,它是CSS
四種使用方法中最為直接的一種,它的實現(xiàn)借用HTML
元素的全局屬性style
,把CSS
代碼直接寫入其中即可。
嚴格意義上行內(nèi)樣式是一種不嚴謹?shù)氖褂梅绞?,它不需要選擇器,這種方式下CSS
代碼和HTML
代碼混合在一起,因此不推薦使用行內(nèi)樣式。行內(nèi)樣式的基本語法如下:
<標記 style="屬性:值; 屬性:值; …">
內(nèi)部樣式表
當單個文檔需要特殊的樣式時,應該使用內(nèi)部樣式表。內(nèi)部樣式表是將樣式放在頁面的head
區(qū)里,這樣定義的樣式就應用到本頁面中了,內(nèi)部樣式表使用style
標記進行聲明,是較為常用的一種使用方法。其基本語法如下:
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
選擇器1{屬性:值;…}
選擇器2{屬性:值;…}
……
選擇器n{屬性:值;…}
</style>
</head>
style
標記定義HTML
文檔的樣式信息,規(guī)定的是HTML
元素如何在瀏覽器中呈現(xiàn),其中type
用來指定元素中的內(nèi)容類型。
鏈入外部樣式表
當為了保證站點的風格統(tǒng)一,或當定義樣式內(nèi)容較多,且需要多個頁面共享樣式時,可使用外部樣式表。鏈入外部樣式表是把樣式表保存為一個外部樣式表文件,然后在頁面中用link
標記鏈接到這個樣式表文件,link
標記放在頁面的head
區(qū)內(nèi)。其基本語法為:
<head>
<meta charset="utf-8" />
<title></title>
<link href="樣式表路徑" rel="stylesheet" type="text/css" />
</head>
其中:
href
:指出樣式表存放的路徑。
rel
:用來定義鏈接的文件與HTML
之間的關(guān)系,rel="stylesheet"
是指在頁面中使用這個外部的樣式表。
type
屬性用于指定文件類型,“text/css”
指文件的類型是樣式表文本。
導入外部樣式表
導入外部樣式表是指在HTML
文件頭部的style
元素里導入一個外部樣式表,導入外部樣式表采用import
方式。導入外部樣式表和鏈入樣式表的方法很相似,但導入外部樣式表的樣式實質(zhì)上相當于存在網(wǎng)頁內(nèi)部。其基本語法為:
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
@import url("樣式表路徑");
</style>
</head>
CSS基本選擇器
選擇器是CSS
中很重要的概念,它可以大幅度提高開發(fā)人員編寫或修改樣式表的工作效率。CSS3
提供了大量的選擇器,大體上可以分為基本選擇器、組合選擇器、屬性選擇器、偽類選擇器和偽對象選擇器等。由于瀏覽器支持情況,很多選擇器在實際開發(fā)中很少用到,本篇主要記錄最基本又最常用的幾種選擇器。
基本選擇器包括標記選擇器、類選擇器、id選擇器和通用選擇器。
標記選擇器
HTML
文檔中最基本的構(gòu)成是HTML
標記,如果要對文檔中的所有同類標記都使用同一個CSS
樣式時,就應使用標記選擇器。其基本語法為:
標記名{ 屬性1:值1; 屬性2:值2;…}
例如要使所有P
標簽的文本居中時,語法如下:
p{
text-align: center;
}
類選擇器
類選擇器的基本語法為:
標記名.類名{屬性1:值1;屬性2:值2;…}
類選擇器針對標記的全局屬性class
,引用方式為:
<標記名 class="類名">
值得注意的是,這里的類名可以是任何合法的字符,由設計者定義。如果對所有的標記均可使用,則采用*.類名
的形式,這里的*
表示全部,當然,也可以省略。
下面舉幾個例子:
<style type="text/css">
p.text1{color:brown;font-size:14px;}
/* 該形式下只允許<p>標記中類名為"text1"的標簽引用該樣式 */
*.text1{ color:brown;font-size:14px; }
或
.text1{ color:brown;font-size:14px; }
/* 表示所有類名為"text1"的標簽都可引用該樣式 */
</style>
id選擇器
id
選擇器和類選擇器大致相同,不同的是定義時不使用“.”而使用“#”
,作用于HTML
標記的全局屬性是“id”
而不是“class”
。
id選擇器的基本語法為:
標記名#id名{ 屬性1: 值1;屬性2: 值2;…}
id
選擇器針對標記的全局屬性id
,引用方式為:
<標記名 id="id名">
當然,與類選擇器一樣,如果對所有的標記均使用時,則采用*#id名
的形式,這里*
表示全部,也可以省略。
通用選擇器
通用選擇器是一種特殊的選擇器,用 *
表示,匹配網(wǎng)頁中的所有元素,除非使用更為具體的選擇器指定某一元素中對應的相同屬性應使用其它值。通用選擇器和對body
元素設定樣式稍有不同,因為通用選擇器應用于每一個元素,而不依賴從應用于body
元素的規(guī)則中繼承的屬性。其基本用法如下:
<style type="text/css">
*{
屬性1: 值1;
屬性2: 值2;
…
}
</style>
其它CSS選擇器
除了CSS
基本選擇器外,CSS
還有許多其它選擇器。
組合選擇器
CSS
中組合選擇器,可以算作是基礎選擇器的升級版,也就是組合去使用基礎選擇器的意思。組合選擇器主要有五個類別:多元素選擇器、后代選擇器、子選擇器、相鄰選擇器和兄弟選擇器。
多元素選擇器
多元素選擇器的基本語法為:
E, F {屬性1:值1;屬性2:值2;… }
這個很好理解,就是同時選中多個元素,中間用“,”隔開。
后代元素選擇器
后代元素選擇器的基本語法為:
E F {屬性1:值1;屬性2:值2;… }
這個也很好理解,就是匹配所有屬于E元素
后代的F元素
,E元素
與F元素
用空格隔開,例如:
table b{color:red; }
就表示將表格中的所有b元素
文字設置為紅色。
子元素選擇器
子元素選擇器的基本語法為:
E>F{屬性1:值1;屬性2:值2;…}
子元素選擇器只能選擇某元素的子元素,其中E為父元素,F(xiàn)為直接子元素,E>F所表示的是選擇了E元素下的所有子元素F,其間用>連接。這和后代元素選擇器不一樣,在后代元素選擇器中F是E的所有后代元素,而子元素選擇器中F必須是E的子元素。
相鄰兄弟選擇器
相鄰兄弟選擇器的基本語法為:
E+F{屬性1:值1;屬性2:值2;…}
相鄰兄弟選擇器可以選擇緊接在另一元素后的元素,而且它們具有相同的父元素,其間用+號鏈接,換句話說,E和F具有同一個父元素,而且F元素在E元素后面并且緊緊相鄰。
一般兄弟選擇器
一般兄弟選擇器的基本語法為:
E~F{屬性1:值1;屬性2: 值2;…}
一般兄弟選擇器將選擇某元素后面的所有兄弟元素,其間用~號鏈接,它和相鄰兄弟選擇器類似,需要在同一個父元素之中,并且F元素在E元素之后。區(qū)別在于E ~ F 選擇器匹配所有E元素后面的F元素,E+F僅匹配緊跟在E元素后邊的F元素。
屬性選擇器
屬性選擇器是在標記后面加一個中括號,中括號中列出各種屬性或者表達式。屬性選擇器的形式很多,我們這里通過示例簡單介紹幾個。
存在屬性匹配
通過匹配存在的屬性來控制元素的樣式,一般要把匹配的屬性包含在中括號中。
例如將任何帶有href
屬性的a標記
設置為綜色:
a[href]{color:brown;}
精確屬性匹配
只有當屬性值完全匹配指定的屬性值時才會應用樣式,id選擇器和類選擇器本質(zhì)上就是精確屬性匹配選擇器。
例如將指向網(wǎng)址“http://hgci.cn” 的鏈接a標記
設置為棕色:
a[href="http://hgci.cn"]{color:brown;}
前綴匹配
只要屬性值的開始字符串匹配指定字符串,即可對元素應用樣式。前綴匹配使用[^=]形式
實現(xiàn),如:
[id^="user"]{color:brown;}
那么下列的標簽均可以變?yōu)樽厣?/p>
<p id="userName">小明</p>
<p id="userWeight">體重</p>
<p id="userAge">年齡</p>
后綴匹配
與前綴匹配相反,只要屬性值的結(jié)尾字符匹串配指定字符串,即可對元素應用樣式。后綴匹配使用[$=]
形式實現(xiàn),如:
[id$="Name"]{color:brown;}
那么下列的標簽均可以變?yōu)樽厣?/p>
<p id="JackName">杰克</p>
<p id="RoseName">蘿絲</p>
子字符串匹配
只要屬性中存在指定字符串即應用樣式,使用[*=]形式
實現(xiàn),如:
[id*="test"]{color:brown;}
那么下列的標簽均可以變?yōu)樽厣?/p>
<p id="Rosetest">段落1</p>
<p id="testY">段落2</p>
<p id="xtesty">段落3</p>
以上就是CSS
的學習筆記了,希望對大家有所幫助。然后對CSS
感興趣的同學可以看一下教程:
CSS教程:http://hgci.cn/css/