CSS基礎知識

本文原始出處爲http://www.blueidea.com/tech/site/2006/3358.asp

附近爲編寫CSS時候的參考手冊

一,關於CSS樣式表

一.在學習css之前你應該掌握哪些基礎知識

1.什麼是網頁,什麼是超文本語言(html)。
2.會使用Dreamweaver等常用的網頁編輯器。

Dreamweaver是現今最好的網站編輯工具之一,而Dreamweaver8增加的對CSS的支持更是你容易得來使用CSS,用它來給製作網 頁的CSS樣式表會更簡單、更方便。本教程教你如何利用Dreamweaver8在頁面中加入CSS,你不用死記硬背的記代碼標記,也不用去看很厚的 CSS手冊,你就可以輕鬆自如的在網頁中運用CSS。不過首先你要對CSS有一定的瞭解。因此,本教程的前面4章爲CSS理論知識,主要是對CSS的全面 介紹,希望讀者看後對CSS的語法、結構、應用有一個全面的瞭解;後面4章爲DW實戰,主要是教你如何利用Dreamweaver8靈活運用CSS在網頁 中。閱讀此文前,你需要對HTML有一定的瞭解,並會使用Dreamweaver。

二.認識CSS

CSS就是Cascading Style Sheets,中文翻譯爲“層疊樣式表”,簡稱樣式表,它是一種製作網頁的新技術。

網頁設計最初是用HTML標記來定義頁面文檔及格式,例如標題<h1>、段落<p>、表格<table>、鏈 接<a>等,但這些標記不能滿足更多的文檔樣式需求,爲了解決這個問題,在1997年W3C(The World Wide Web Consortium)頒佈HTML4標準的同時也公佈了有關樣式表的第一個標準CSS1, 自CSS1的版本之後,又在1998年5月發佈了CSS2版本,樣式表得到了更多的充實。W3C把DHTML(Dynamic HTML)分爲三個部分來實現:腳本語言(包括JavaScript、Vbscript等)、支持動態效果的瀏覽器(包括Internet Explorer、Netscape Navigator等)和CSS樣式表。

注意:CSS需要IE4(Internet Explorer 4.0)和NC4(Netscape 4.0)以上的瀏覽器支持,有些效果需要更高版本的瀏覽器支持。

三.怎樣使用CSS

如果你使用的是Dreamweaver MX 2004以上的版本,在定義文字字體、顏色、大小等屬性的時候,查看一下代碼你會發現有這樣的一部分在head區域:

<style type="text/css">
<!--
.STYLE2 {
 font-size: 16pt;
 font-family: "Courier New", Courier, monospace;
 font-weight: bold;
 color: #FF3300;
}
-->
</style>

那麼恭喜你,你已經使用了CSS設計網頁。
那麼除了這種調用CSS的方法外,還有別的嗎?回答是“當然有了”,下面是系統介紹

標記加註法(in-line):
 如果只有一個HTML標記需要設定樣式,則可在該標記內,加上屬性

style=" "

以個別修訂樣式。

頁面內嵌法:

<style type="text/css"> <!-- body { background : white ; color : black ; } --> </style>

外部調用法:

 

<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" />

雙表法調用樣式表:

 

<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" />
<style type="text/css" media="all">@import url( css/style01.css );</style>

 

二, CSS基本語法

 

1. 基本語法

CSS的定義是由三個部分構成:選擇符(selector),屬性(properties)和屬性的取值(value)。
基本格式如下:

selector {property: value}

(選擇符 {屬性:值})
選擇符是可以是多種形式,一般是你要定義樣式的HTML標記,例如BODY、P、TABLE……,你可以通過此方法定義它的屬性和值,屬性和值要用冒號隔開:

body {color: black}

選擇符body是指頁面主體部分,color是控制文字顏色的屬性,black是顏色的值,此例的效果是使頁面中的文字爲黑色。

如果屬性的值是多個單詞組成,必須在值上加引號,比如字體的名稱經常是幾個單詞的組合:

p {font-family: "sans serif"}

(定義段落字體爲sans serif)

如果需要對一個選擇符指定多個屬性時,我們使用分號將所有的屬性和值分開:

p {text-align: center; color: red}

(段落居中排列;並且段落中的文字爲紅色)

爲了使你定義的樣式表方便閱讀,你可以採用分行的書寫格式:

p
{
text-align: center;
color: black;
font-family: arial
}

(段落排列居中,段落中文字爲黑色,字體是arial)

2. 選擇符組

你可以把相同屬性和值的選擇符組合起來書寫,用逗號將選擇符分開,這樣可以減少樣式重複定義:

h1, h2, h3, h4, h5, h6 { color: green }

(這個組裏包括所有的標題元素,每個標題元素的文字都爲綠色)

p, table{ font-size: 9pt }

(段落和表格裏的文字尺寸爲9號字)

效果完全等效於:

p { font-size: 9pt }
table { font-size: 9pt }

3. 類選擇符

用類選擇符你能夠把相同的元素分類定義不同的樣式,定義類選擇符時,在自定類的名稱前面加一個點號。假如你想要兩個不同的段落,一個段落向右對齊,一個段落居中,你可以先定義兩個類:

p.right {text-align: right}
p.center {text-align: center}

然後用不在不同的段落裏,只要在HTML標記里加入你定義的class參數:

 

<p class="right"> 這個段落向右對齊的
</p>

<p class="center">
這個段落是居中排列的
</p>

注意: 類的名稱可以是任意英文單詞或以英文開頭與數字的組合,一般以其功能和效果簡要命名。

類選擇符還有一種用法,在選擇符中省略HTML標記名,這樣可以把幾個不同的元素定義成相同的樣式:

.center {text-align: center}

(定義.center的類選擇符爲文字居中排列)
這樣的類可以被應用到任何元素上。下面我們使h1元素(標題1)和p元素(段落)都歸爲“center”類,這使兩個元素的樣式都跟隨“.center”這個類選擇符:

<h1 class="center">
這個標題是居中排列的
</h1>
<p class="center">
這個段落也是居中排列的
</p>

注意: 這種省略HTML標記的類選擇符是我們經後最常用的CSS方法,使用這種方法,我們可以很方便的在任意元素上套用預先定義好的類樣式。

4. ID選擇符

在HTML頁面中ID參數指定了某個單一元素,ID選擇符是用來對這個單一元素定義單獨的樣式。
ID選擇符的應用和類選擇符類似,只要把CLASS換成ID即可。將上例中類用ID替代:

<p id="intro">
這個段落向右對齊
</p>

定義ID選擇符要在ID名稱前加上一個“#”號。和類選擇符相同,定義ID選擇符的屬性也有兩種方法。下面這個例子,ID屬性將匹配所有id="intro"的元素:

#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}

(字體尺寸爲默認尺寸的110%;粗體;藍色;背景顏色透明)
下面這個例子,ID屬性只匹配id="intro"的段落元素:

p#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}

注意: ID選擇符侷限性很大,只能單獨定義某個元素的樣式,一般只在特殊情況下使用。

5. 包含選擇符

可以單獨對某種元素包含關係定義的樣式表,元素1裏包含元素2,這種方式只對在元素1裏的元素2定義,對單獨的元素1或元素2無定義,例如:

table a
{
font-size: 12px
}

在表格內的鏈接改變了樣式,文字大小爲12象素,而表格外的鏈接的文字仍爲默認大小。

6. 樣式表的層疊性

層疊性就是繼承性,樣式表的繼承規則是外部的元素樣式會保留下來繼承給這個元素所包含的其他元素。事實上,所有在元素中嵌套的元素都會繼承外層元素指定的屬性值,有時會把很多層嵌套的樣式疊加在一起,除非另外更改。例如在DIV標記中嵌套P標記:

div { color: red; font-size:9pt}
……
<div>
<p>
這個段落的文字爲紅色9號字
</p>
</div>

(P元素裏的內容會繼承DIV定義的屬性)
注意: 有些情況下內部選擇符不繼承周圍選擇符的值,但理論上這些都是特殊的。例如,上邊界屬性值是不會繼承的,直覺上,一個段落不會同文檔BODY一樣的上邊界值。

另外,當樣式表繼承遇到衝突時,總是以最後定義的樣式爲準。如果上例中定義了P的顏色:

div { color: red; font-size:9pt}
p {color: blue}
……
<div>
<p>
這個段落的文字爲藍色9號字
</p>
</div>

我們可以看到段落裏的文字大小爲9號字是繼承div屬性的,而color屬性則依照最後定義的。

不同的選擇符定義相同的元素時,要考慮到不同的選擇符之間的優先級。ID選擇符,類選擇符和HTML標記選擇符,因爲ID選擇符是最後加上元素上的,所以優先級最高,其次是類選擇符。如果想超越這三者之間的關係,可以用!important提升樣式表的優先權,例如:

p { color: #FF0000!important }
.blue { color: #0000FF}
#id1 { color: #FFFF00}

我們同時對頁面中的一個段落加上這三種樣式,它最後會依照被!important申明的HTML標記選擇符樣式爲紅色文字。如果去掉!important,則依照優先權最高的ID選擇符爲黃色文字。

7. 註釋

你可以在CSS中插入註釋來說明你代碼的意思,註釋有利於你或別人以後編輯和更改代碼時理解代碼的含義。在瀏覽器中,註釋是不顯示的。CSS註釋以"/*" 開頭,以"*/" 結尾,如下:

 

/* 定義段落樣式表 */
p
{
text-align: center; /* 文本居中排列 */
color: black; /* 文字爲黑色 */
font-family: arial /* 字體爲arial */
}

 

三,如何使用CSS

 

前面我們瞭解了CSS的語法,但要想在瀏覽器中顯示出效果,就要讓瀏覽器識別並調用。當瀏覽器讀取樣式表時,要依照文本格式來讀,這裏介紹四種在頁 面中插入樣式表的方法:[u]鏈入外部樣式表[/u]、[u]內部樣式表[/u]、[u]導入外表樣式表[/u]和[u]內嵌樣式[/u]。

1. 鏈入外部樣式表

鏈入外部樣式表是把樣式表保存爲一個樣式表文件,然後在頁面中用<link>標記鏈接到這個樣式表文件,這個<link>標記必須放到頁面的<head>區內,如下:

<head>
……
<link href="mystyle.css" rel="stylesheet" type="text/css" media="all">
……
</head>

上面這個例子表示瀏覽器從mystyle.css文件中以文檔格式讀出定義的樣式表。rel=”stylesheet”是指在頁面中使用這個外部的 樣式表。type=”text/css”是指文件的類型是樣式表文本。href=”mystyle.css”是文件所在的位置。media是選擇媒體類 型,這些媒體包括:屏幕,紙張,語音合成設備,盲文閱讀設備等。

一個外部樣式表文件可以應用於多個頁面。當你改變這個樣式表文件時,所有頁面的樣式都隨之而改變。在製作大量相同樣式頁面的網站時,非常有用,不僅減少了重複的工作量,而且有利於以後的修改、編輯,瀏覽時也減少了重複下載代碼。

樣式表文件可以用任何文本編輯器(例如:記事本)打開並編輯,一般樣式表文件擴展名爲.css。內容是定義的樣式表,不包含HTML標記,mystyle.css這個文件的內容如下:

hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
/*定義水平線的顏色爲土黃;段落左邊的空白邊距爲20象素;頁面的背景圖片爲images目錄下的back40.gif文件*/

2. 內部樣式表

內部樣式表是把樣式表放到頁面的<head>區裏,這些定義的樣式就應用到頁面中了,樣式表是用<style>標記插入的,從下例中可以看出<style>標記的用法:

<head>
……
<style type="text/css">
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
</style>
……
</head>

注意: 有些低版本的瀏覽器不能識別style標記,這意味着低版本的瀏覽器會忽略style標記裏的內容,並把style標記裏的內容以文本直接顯示到頁面上。爲了避免這樣的情況發生,我們用加HTML註釋的方式(<!-- 註釋 -->)隱藏內容而不讓它顯示:

<head>
……
<style type="text/css">
<!--
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
-->
</style>
……
</head>

3. 導入外部樣式表

導入外部樣式表是指在內部樣式表的<style>裏導入一個外部樣式表,導入時用@import,看下面這個實例:

<head>
……
<style type=”text/css”>
<!--
@import “mystyle.css”
其他樣式表的聲明
-->
</style>
……
</head>

例中@import “mystyle.css”表示導入mystyle.css樣式表,注意使用時外部樣式表的路徑。方法和鏈入樣式表的方法很相似,但導入外部樣式表輸入方式更有優勢。實質上它相當於存在內部樣式表中的。
注意: 導入外部樣式表必須在樣式表的開始部分,在其他內部樣式表上面。

4. 內嵌樣式

內嵌樣式是混合在HTML標記裏使用的,用這種方法,可以很簡單的對某個元素單獨定義樣式。內嵌樣式的使用是直接將在HTML標記里加入style參數。而style參數的內容就是CSS的屬性和值,如下例:

<p style="color: sienna;margin-left: 20px;">
這是一個段落
</p>
<!--這個段落顏色爲土黃,左邊距爲20象素-->

在style參數後面的引號裏的內容相當於在樣式表大括號裏的內容。
注意: style參數可以應用於任意BODY內的元素(包括BODY本身),除了BASEFONT、PARAM和SCRIPT。

5. 多重樣式表的疊加

上一章裏我們已經提到樣式表的層疊順序,這裏我們討論插入樣式表的這幾種方法的疊加,如果在同一個選擇器上使用幾個不同的樣式表時,這個屬性值將會 疊加幾個樣式表,遇到衝突的地方會以最後定義的爲準。例如,我們首先鏈入一個外部樣式表,其中定義了h3選擇符的color 、text-alig和font-size屬性:

h3
{
color: red;
text-align: left;
font-size: 8pt;
}
/*標題3的文字顏色爲紅色;向左對齊;文字尺寸爲8號字*/

然後在內部樣式表裏也定義了h3選擇符的text-align和font-size屬性:

h3
{
text-align: right;
font-size: 20pt;
}
/*標題3文字向右對齊;尺寸爲20號字*/

那麼這個頁面疊加後的樣式就是:

color: red;
text-align: right;
font-size: 20pt;
/*文字顏色爲紅色;向右對齊;尺寸爲20號字*/

字體顏色從外部樣式表裏保留下來,而對齊方式和字體尺寸都有定義時,按照後定義的優先而依照內部樣式表。

注意: 依照後定義的優先,所以優先級最高的是[s]內嵌樣式[/s],[s]內部樣式表[/s]高於[s]導入外部樣式表[/s],[s]鏈入的外部樣式表[/s]和[s]內部樣式表[/s]之間是最後定義的優先級高。

 

四 CSS選擇符

一.選擇符模式
模式/含義/內容描述

*
匹配任意元素。(通用選擇器)
E
匹配任意元素 E (例如一個類型爲 E 的元素)。(類型選擇器)
E F
匹配元素 E 的任意後代元素 F 。(後代選擇器)
E > F
匹配元素 E 的任意子元素 F 。(子選擇器)
E:first-child
當元素 E 是它的父元素中的第一個子元素時,匹配元素 E 。(:first-child 僞類)
E:link E:visited
如果 E 是一個目標還沒有訪問過(:link)或者已經訪問過(:visited)的超鏈接的源錨點時匹配元素 E 。(link 僞類)
E:active E:hover E:focus
在確定的用戶動作中匹配 E 。(動態僞類)
E:lang(c)
如果類型爲 E 的元素使用了(人類)語言 c (文檔語言確定語言是如何被確定的),則匹配該元素。(:lang() 僞類)
E + F
如果一個元素 E 直接在元素 F 之前,則匹配元素 F 。(臨近選擇器)
E[foo]
匹配具有”foo”屬性集(不考慮它的值)的任意元素 E 。(屬性選擇器)
E[foo="warning"]
匹配其“foo”屬性值嚴格等於“warning”的任意元素 E 。(屬性選擇器)
E[foo~="warning"]
匹配其“foo”屬性值爲空格分隔的值列表,並且其中一個嚴格等於“warning”的任意元素 E 。(屬性選擇器)
E[lang|="en"]
匹配其“lang”屬性具有以“en”開頭(從左邊)的值的列表的任意元素 E 。(屬性選擇器)
DIV.warning
僅 HTML。用法同 DIV[class~="warning"]。(類選擇器)
E#myid
匹配 ID 等於“myid”的任意元素 E 。(ID 選擇器)


引用:
--------------------------------------------------------------------------------
From:http://www.w3.org/TR/CSS2/selector.html
--------------------------------------------------------------------------------

我們用下面的例子來解釋“[s]父元素[/s]”、“[s]子元素[/s]”、“[s]父/子[/s]”及“[s]相鄰[/s]”這幾個概念。

<div title="這是一個div">
 <h1>這是是h1的內容</h1>
 <p>這是一個段落p的內容!<strong>這裏是strong的內容</strong>這是一個段落p的內容!</p>
</div>

從以上代碼中,我們可以找出這樣的關係:
[list]
[*] h1 和 p 同爲 div 的“兒子”,兩者分別同 div 形成“父/子”關係。
[*] h1,p,strong 都是 div 的“子元素”。(三者都包含在 div 之內)
[*] div 是 h1 和 p 的“父元素”。
[*] strong 和 p 形成“父/子”關係,strong 的“父元素”是 p 。
[*] 但 strong 和 div 並非“父/子”關係,而是“祖孫”關係,但 strong 依然是 div 的“子(孫)元素”。
[*] div 是 h1 p strong 三者的“祖先”,三者是 div 的“子(孫)元素”。
[*] h1 和 p 兩者是相鄰的。
[/list]

繼承上面的實例來具體演示一下E F的關係:假如,我們需要將 strong 內的內容二字變爲綠色,我們可以有哪些方法呢?

div strong {color:green;} /* - 正確。strong 是 div 的“子元素”*/
p > strong {color:green;} /* - 正確。strong 和 p 是“父/子”關係*/
div > strong {color:green;} /* - 錯誤!strong 雖然是 div 的“子(孫)元素”,但兩者乃是“祖孫”關係,而非“父/子”關係,因此不能用 > 符號連接*/

臨近選擇器和通用選擇器: 通用選擇器以星號“*”表示,可以用於替代任何 tag 。

實例:

 h2 + * { color:green }/*所有緊隨 h2 的元素內的文字都將呈現紅色*/

二.選擇符分類介紹

1.通配選擇符

語法:
* { sRules }

說明:
通配選擇符。選定文檔目錄樹(DOM)中的所有類型的單一對象。
假如通配選擇符不是單一選擇符中的唯一組成,“*”可以省略。

示例:
*[lang=fr] { font-size:14px; width:120px; }
*.div { text-decoration:none; }

2.類型選擇符

語法:
E { sRules }

說明:
類型選擇符。以文檔語言對象(Element)類型作爲選擇符。

示例:
td { font-size:14px; width:120px; }
a { text-decoration:none; }

3.屬性選擇符

語法:
E [ attr ] { sRules }
E [ attr = value ] { sRules }
E [ attr ~= value ] { sRules }
E [ attr |= value ] { sRules }

說明:
屬性選擇符。
選擇具有 attr 屬性的 E
選擇具有 attr 屬性且屬性值等於 value 的 E
選擇具有 attr 屬性且屬性值爲一用空格分隔的字詞列表,其中一個等於 value 的 E 。這裏的 value 不能包含空格
選擇具有 attr 屬性且屬性值爲一用連字符分隔的字詞列表,由 value 開始的 E

示例:
h[title] { color: blue; }
/* 所有具有title屬性的h對象 */
 
span[class=demo] { color: red; }
 
div[speed="fast"][dorun="no"] { color: red; }
 
a[rel~="copyright"] { color:black; }

4.包含選擇符

語法:
E1 E2 { sRules }

說明:
包含選擇符。選擇所有被 E1 包含的 E2 。即 E1.contains(E2)==true 。

示例:
table td { font-size:14px; } 
div.sub a { font-size:14px; }

5.子對象選擇符

語法:
E1 > E2 { sRules }

說明:
子對象選擇符。選擇所有作爲 E1 子對象的 E2 。

示例:
body > p { font-size:14px; }
/* 所有作爲body的子對象的p對象字體尺寸爲14px */
 
div ul>li p { font-size:14px; }

6.ID選擇符

語法:
#ID { sRules }

說明:
ID選擇符。以文檔目錄樹(DOM)中作爲對象的唯一標識符的 ID 作爲選擇符。

示例:
#note { font-size:14px; width:120px;}

7.類選擇符

語法:
E.className { sRules }

說明:
類選擇符。在HTML中可以使用此種選擇符。其效果等同於E [ class ~= className ] 。請參閱屬性選擇符( Attribute Selectors )。
在IE5+,可以爲對象的 class 屬性(特性)指定多於一個值( className ),其方法是指定用空格隔開的一組樣式表的類名。例如:<div class="class1 class2">。

示例:
div.note { font-size:14px; }
/* 所有class屬性值等於(包含)"note"的div對象字體尺寸爲14px */
 
.dream { font-size:14px; }
/* 所有class屬性值等於(包含)"note"的對象字體尺寸爲14px */

8.選擇符分組

語法:
E1 , E2 , E3 { sRules }

說明:
選擇符分組。將同樣的定義應用於多個選擇符,可以將選擇符以逗號分隔的方式併爲組。

示例:
.td1,div a,body { font-size:14px; }
td,div,a { font-size:14px; }

9.僞類及僞對象選擇符

語法:
E : Pseudo-Classes { sRules }
E : Pseudo-Elements { sRules }

說明:
僞類及僞對象選擇符。
僞類選擇符。請參閱僞類( Pseudo-Classes )[:link :hover :active :visited :focus :first-child :first :left :right :lang]。
僞對象選擇符。請參閱僞對象( Pseudo-Elements )[:first-letter :first-line :before :after]。

示例:
div:first-letter { font-size:14px; }
a.fly :hover { font-size:14px; color:red; }

 

 

五,僞類——動態鏈接

僞類可以看做是一種特殊的類選擇符,是能被支持CSS的瀏覽器自動所識別的特殊選擇符。它的最大的用處就是可以對鏈接在不同狀態下定義不同的樣式效果。

1. 語法

僞類的語法是在原有的語法里加上一個僞類(pseudo-class):
selector:pseudo-class {property: value}
(選擇符:僞類 {屬性: 值})
僞類和類不同,是CSS已經定義好的,不能象類選擇符一樣隨意用別的名字,根據上面的語法可以解釋爲對象(選擇符)在某個特殊狀態下(僞類)的樣式。

類選擇符及其他選擇符也同樣可以和僞類混用:
selector.class:pseudo-class {property: value}
(選擇符.類:僞類 {屬性: 值})

2. 錨的僞類

我們最常用的是4種a(錨)元素的僞類,它表示動態鏈接在4種不同的狀態:link、visited、active、hover(未訪問的鏈接、已訪問的鏈接、激活鏈接和鼠標停留在鏈接上)。我們把它們分別定義不同的效果:

a:link {color: #FF0000; text-decoration: none} /* 未訪問的鏈接 */
a:visited {color: #00FF00; text-decoration: none} /* 已訪問的鏈接 */
a:hover {color: #FF00FF; text-decoration: underline} /* 鼠標在鏈接上 */
a:active {color: #0000FF; text-decoration: underline} /* 激活鏈接 */

(上面這個例子中,這個鏈接未訪問時的顏色是紅色並無下劃線,訪問後是綠色並無下劃線,激活鏈接時爲藍色並有下劃線,鼠標在鏈接上時爲紫色並有下劃線)
注 意:有時這個鏈接訪問前鼠標指向鏈接時有效果,而鏈接訪問後鼠標再次指向鏈接時卻無效果了。這是因爲你把a:hover放在了a:visited的前面, 這樣的話由於後面的優先級高,當訪問鏈接後就忽略了a:hover的效果。所以根據疊層順序,我們在定義這些鏈接樣式時,一定要按照a:link, a:visited, a:hover, a:actived的順序書寫。

3. 僞類和類選擇符

將僞類和類組合起來用,就可以在同一個頁面中做幾組不同的鏈接效果了,例如,我們定義一組鏈接爲紅色,訪問後爲藍色;另一組爲綠色,訪問後爲黃色:

a.red:link {color: #FF0000}
a.red:visited {color: #0000FF}
a.blue:link {color: #00FF00}
a.blue:visited {color: #FF00FF}

現在應用在不同的鏈接上:

<a class="red" href="...">這是第一組鏈接</a>
<a class="blue" href="...">這是第二組鏈接</a>

4. 其他僞類

此外CSS2還定義了[u]首字[/u]和[u]首行[/u](first-letter和first-line)的僞類,可以對元素的首字或首行設定不同的樣式。
下面看這個例子,我們在段落標記裏定義文本首字尺寸爲默認大小的3倍:

<style type=”text/css”>
p:first-letter {font-size: 300%}
</style>
……
<p>
這是一個段落,這個段落的首字被放大了。
</p>

我們再定義一個首行樣式的例子:

<style type=”text/css”>
div:first-line {color: red}
</style>
……
<div>
<p>
這是段落的第一行
這是段落的第二行
這是段落的第三行
</p>
</div>

(上例中段落的第一行爲紅色,第二、三行爲默認顏色)

注意: 首字和首行的僞類需要IE5.5以上的版本支持。

 

 

五,CSS的盒子模型

CSS2中的盒模型是關係到設計中排版定位的關鍵,任何一個選擇符都遵循盒模型規範,例如<div>、<p>、<a>……盒模型包含
(外補丁)margin,(背景顏色)background-color,(背景圖片)background-image,(內補丁)padding ,(內容)content,(邊框)border。

下圖是CSS盒模型的示意圖:

平面示意圖

3D示意圖(原圖出自:hicksdesign)

Flash示意模型 (點擊觀看)

需要說明的是:IE和Mozilla瀏覽器對盒模型的解釋不一致,造成我們定位上的困難,主要差別是: IE計算2個div之間的距離時候,會把1px的border計算在內,而mozilla沒有; 設定div的寬度後,如果給padding加一個值,IE會在寬度內減去這個值,而M ozilla會在寬度基礎上加上這個值。

發佈了38 篇原創文章 · 獲贊 1 · 訪問量 3150
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章