CSS手冊簡編

作者:賾華-風雲網 (2004年03月19日 12點53分59秒)
來源:http://8f6.comc1.htm 

 
總論|選擇器的使用方法|媒體屬性|BOX屬性|佈局屬性|
顏色背景屬性|字體屬性|文本屬性|列表屬性|表格屬性|用戶屬性
 

  自W3C(The World Wide Web Consortium)制定了代號爲Cougar的HTML的4.0版本以來,存在在Web頁面中的動態效果首次被正式的承認了,W3C把動態超文本(Dynamic HTML)的實現分爲了三個部分:腳本、支持動態效果的瀏覽器和CSS。前兩者也許你經常用到,但CSS是什麼或許你並不清楚,如果有過製作Web頁面的經歷,你可能聽說過樣式單或風格單,如果對此你亦無耳聞,不要緊,只要你想製作出具有更多新特性的Web頁,本文將同樣適合於你。(請使用IE4或IE5對CSS手冊中的屬性實例進行驗證)

一、什麼是CSS?

CSS是Cascading Style Sheet的縮寫,有些書上把它譯爲"層疊樣式單"或"級聯樣式單"(下文簡稱"樣式單"),在1997年W3C頒佈HTML4標準的同時也公佈了有關樣式單的第一個標準CSS1。樣式單是對以前的HTML(3.2以前的HTML版本)語法的一次重大革新,以前的HTML版本中,各種功能的實現是通過標記元素實現的,這也造成了各個瀏覽器廠商爲了標新立意創建各種只有自家支持的標記,各種標記互相嵌套,就可以達到不同的效果,比如要在一段文字中把一部分文字變成紅色,HTML3.2中應該是這樣的:

<p><font color=red>這裏顯示紅色字</font></p>

而在樣式單中,把某些標記(如上例中的"font"標記)屬性化,利用樣式單,上例可以變成:

<p style="color:red">這裏顯示紅色字</p>

這就是樣式單的全部功能嗎?遠遠不是!前面說過樣式單是DHTML的一部分,建立樣式單的真正意義在於把對象真正引入了HTML,使得可以使用腳本程序(如Javascript、VBScript)調用對象屬性,並且可以改變對象屬性,達到動態的目的,這在以前的HTML中是無法實現的,如果你使用過如VB等面向對象的編程工具,你會更快的發現,用樣式單做DHTML是多麼容易。樣式單的另一項貢獻是簡化了HTML中各種繁瑣的標記,使得各個標記的屬性更具有一般性和通用性,並且樣式單擴展了原先的標記功能,能夠實現更多的效果,樣式單甚至超越了Web頁面的本身顯示功能,而把樣式擴展到多種媒體上,顯示了難以抗拒的魅力。

樣式單自從CSS1的版本之後,又在1998年5月發佈了CSS2版本,樣式單得到了更多的充實。Internet Explorer4和Netscape Navigator4都宣傳支持樣式單,但從各方面來看IE4的效果都要超過NE4,這是因爲IE4和NE4的Javascript文檔模型(DOM)不同而造成的,從表面看,二者的模型區別不大,但實質上卻是大相徑庭,IE4的模型能夠更加容易的把動態效果引入Web頁面,雖然現在IE4的模型只有微軟自己支持,但它卻已被清楚的寫入了W3C的DHTML標準;而NE4的樣式單並不能通過腳本調用對象的屬性,說的不好聽一點,它的樣式單只是徒有其表罷了。(Netscape公司自己開發了一種樣式單稱作JSSS,它利用Javascript來定義樣式,但是並沒有得到W3C的承認。)

二、進一步瞭解樣式單

Cascading Style Sheet中的Cascading是"層疊"的意思,也就是說在同一個Web文檔中可以有多個樣式單存在,這些樣式單根據所在的位置,擁有不同的優先級,優先級越高,就會被最後在顯示時採用。從樣式單插入的形式來看可以分爲三種:

內聯式樣式單:它利於現有的HTML標記,把特殊的樣式加入到那些由標記控制的信息中,比如剛纔的例子。

嵌入式樣式單:它和Javascript一樣可以嵌入到HTML文件的頭部中去(<html>和<body>標記之間),使用<Style>和</Style>容器裝載,例如:"<style> p {color : red ; font-weight : bold} </style>",這樣會對頁面中所有<p>標記都起作用。

外部式樣式單:是一種保存在外部的樣式單文件,外部文件以.CSS爲擴展名,例如"<link rel=stylesheet href="main-sheet.css" type="text/css">"。

在應用時可以根據需要隨意運用以上三種方式,但在實際中內聯式樣式單和嵌入式樣式單使用得更多一些。

三、樣式單的語法特徵

樣式單有自己獨特的書寫方法,掌握了它的語法特徵,再瞭解它的各種屬性,那麼你會發現在Web頁面中運用樣式單會是多麼輕鬆。例如有一個最簡單的HTML文檔:

<html>
<body>
  <p>Text goes here…<p>
</body>
</html>

我們可以用嵌入式樣式單規定樣式。

<html>
<style>
<!--
  p {color:red; font-weight : bold}
- ->
</style>
<body>
  <p>這裏顯示紅色字</p>
</bdoy>
</html>

可以看到,在這個文檔裏,多了"Style"標記,之間用<!-- ……… - ->註釋,以防止不能識別樣式單的低版本瀏覽器把樣式單當作內容顯示出來,然後是關鍵的一句:

p {color:red;font-weight : bold }

這整行稱爲一個聲明(Statement),在樣式單中,聲明分爲兩種,一種是象這樣的,叫做"rule set",另一種則稱爲"at-rule"。

At-rule以"@"作爲關鍵字,放在元素的最前面,at-rule通常用來對媒體(Media)的聲明,並且如果對同一個at-rule進行聲明,那麼只有位置靠前的會起到作用,如:

@import "subs.css"
H1 {color:blue}
@import "list.css"

後一個At-Rule無效。

而rule set就象我們前面看到的樣子了,它由幾個部分組成,其中包括選擇器、屬性和屬性值。一般的書寫是這樣的:

Selector1 {property1:value1; property2:value2;……}
Selector2 {……}

其中剛纔例子中的"P"代表段落標記元素,爲選擇器,"{}"爲一個塊(Block),表示對標記屬性的聲明(Declaration),有多個屬性的時候使用";"隔開,屬性在樣式單中的一般表示方法是前面是一類屬性的名稱,後面是具體屬性的名稱,中間用"-"隔開,而在腳本中使用屬性的時候,則把"-"去掉,並把第二部分的開頭字母大寫。屬性值的表示可以使用10進制,16進制數值(如#FFFFFF),百分數(如100%),字符串,URL(如url(http://www.mysite.com))和RGB(如rgb(255,255,255))等多種方式表示。下面我將對其中的重點部分進行更詳細的解釋。

總論|選擇器的使用方法|媒體屬性|BOX屬性|佈局屬性|
顏色背景屬性|字體屬性|文本屬性|列表屬性|表格屬性|用戶屬性
 
c2.htm 1、選擇器(Selector)

選擇器不只是文檔中的元素標記,它還可以是類(Class,這不同於Java或C++中的類)、ID(給予元素特殊的名稱,也便於在腳本中使用)或是元素的某種狀態(如:a:link)。如:

<html>
<style>
<!--
p {color:red;font-weight : bold }
.bigFont {font-size:200%}
#blueBack {background-color:blue;color:yellow}
-->
</style>
<body>
<p>利用<span class="bigFont">Class</span>和<span id="blueBack">ID</span>顯示內容。</p>
</body>
</html>

其中.someclass代表類,#someID代表ID。類和ID也可以和元素標記合用,比如:

p.bigFont {……}

則表示必須在某個爲bigFont類的P標記(<p class="bigFont">)才執行樣式單,同樣的也適合於ID。
爲了簡化聲明某些重複屬性的標記,可以用","把不同的選擇器隔開,表示它們都表示成相同的屬性,如:

H1,H2 {color:red}
Div, p.mytext {……}

有時我們還希望能夠在特定的範圍內使樣式單生效:

p em {color:red}

元素標記間又空格隔開,表示在<p>和</p>間的<em>、<em>用紅色表示。另外還可以利用"~"表示一個選擇器後面緊跟另一個選擇器,並且兩邊以"/"圍住:

/ Selector1 ~ Selector2/ {……}

表示如果Selector2緊跟着Selector1則使用該樣式單。

2、屬性值的單位

在樣式單中,屬性的單位多爲長度單位,包括px(象素)、pt(磅)、em(一種排版中的單位,1em=12pt)、mm(毫米)、cm(釐米)、pc(1pc=12pt)、in(英寸),這些單位可以使用整數(如px)表示,也可以使用實數(如em)表示,並且元素中對數值還有繼承(inherit)的關係比如:

body {font-size:12pt;text-indent:3em;}
H1 {font-size:15pt}

那麼在顯示中H1的text-indent屬性就不是36pt而是45pt。

有的屬性的單位甚至可以是負值,如margin,可以達到一些特殊的效果,如元素之間的重疊。另外還有一些其他的單位如角度,它的單位有deg(度)、grad(梯度)和rad(弧度);頻率的單位,Hz和kHz,這些都是我們非常熟悉的。

3、註釋及空格

樣式單也有註釋語句:可以用"/*……*/"作爲註釋標記,在瀏覽器中有一個對樣式單的分析器,它負責對樣式單的檢查,分析器將忽略註釋標記之間的內容。空格在樣式單中是有效的,如果字符之間有超過一個空格存在,它將省略其餘空格,而只保留一個,特別是在聲明某些字體的時候,空格一定不能省略。

2 要注意的方面

首先,樣式單是區分大小寫的,所以要注意拼寫;其次對於CSS2未聲明的屬性和方法,樣式單的分析器會忽略它的存在,如:

H1 ,H2 {color:green}
H3 ,H4 & H5 {color:red}
P {color:blue ;font-variant:small-caps}

其中"&"是樣式單中沒有的標號,第二行整個被分析器略過,第三行中的font-variant不是一個合法屬性,也被略過("color:blue"有效)。

瞭解了以上規則,你就已經對樣式單入門了,下面將詳細介紹樣式單的各種屬性及屬性值。

總論|選擇器的使用方法|媒體屬性|BOX屬性|佈局屬性|
顏色背景屬性|字體屬性|文本屬性|列表屬性|表格屬性|用戶屬性

 
 
c3.htm CSS屬性:

1、媒體(Media)類型

樣式單的一個最重要的特點就是它可以作用於多種媒體,比如頁面、屏幕、電子合成器等等。特定的屬性只能作用於特定的媒體,如"font-size"屬性只對可捲動的媒體類型有效(屏幕)。

聲明一個媒體屬性可以用@import或@media引入:

@import url(loudvoice.css) speech;
@media print {
/* style sheet for print goes here */
}

也可以在文檔標記中引入媒體:

<LINK rel="stylesheet" type="text/css" media="print" href="foo.css">

可以看出,@import和@media的區別在於,前者引入外部的樣式單用於媒體類型,後者直接引入媒體屬性。@import的使用方法是@import加樣式單文件的URL地址再加媒體類型,可以多個媒體共用一個樣式單,媒體類型之間用","分割符分開。@media用法則是把媒體類型放在前面,其他規則和rule-set基本一樣。下面列出各種媒體類型:

SCREEN:指計算機屏幕。
PRINT:指用於打印機的不透明介質。
PROJECTION:指用於顯示的項目。
BRAILLE:盲文系統,指有觸覺效果的印刷品。
AURAL:指語音電子合成器。
TV:指電視類型的媒體。
HANDHELD:指手持式顯示設備(小屏幕,單色)
ALL:適合於所有媒體。


總論|選擇器的使用方法|媒體屬性|BOX屬性|佈局屬性|
顏色背景屬性|字體屬性|文本屬性|列表屬性|表格屬性|用戶屬性
 
c4.htm CSS屬性:

2、BOX模型(BOX Model)屬性

什麼是BOX?CSS把HTML中以<somesign>……</somesign>的部分稱爲BOX(容器),BOX有三類屬性:padding、margin和border。

Margin屬性:

Margin屬性分爲margin-top、margin-right、margin-bottom、margin-left和margin五個屬性,分別表示BOX裏內容離邊框的距離,它的屬性值是數值單位,可以是長度、百分比或auto,margin甚至可以設爲負值,造成BOX與BOX之間的重疊顯示,關於margin的屬性詳見下表:

屬性名稱: 'margin-top'、'margin-right'、'margin-bottom'、'margin-left'
屬性值: <margin-width>
初始值: 0
適合對象: 所有元素
是否繼承: no
百分比備註: 相對於BOX的寬度

例如:

H1 { margin-top: 2em }
H2 { margin-right: 12.3% }

Margin還有一個快捷的書寫方法,就是直接用margin屬性,例如:

BODY { margin: 1em 2em 3em 2em}

等同於:

BODY {
margin-top:1em;
margin-right:2em;
margin-bottom:3em;
margin-left:2em;
}

margin屬性後面可以有四個值,中間用空格隔開(記住不是逗號),順序是"上右下左",當然margin後面可以不足四個值,例如:

BODY { margin: 2em } /* 所有的margin都設爲2em */
BODY { margin: 1em 2em } /* 上下margin爲1em,右左margin爲2em */
BODY { margin: 1em 2em 3em } /* 上margin爲1em,右左margin爲2em,下margin爲3em*/

Padding屬性:

Padding屬性用來描述BOX的邊框和內容之間插入多少空間,和margin屬性類似,它也分爲上右下左和一個快捷方式padding,關於padding的屬性詳見下表:

屬性名稱: 'padding-top'、'padding-right'、'padding-bottom'、'padding-left' 、'padding'
屬性值: <padding-width>
初始值: 0
適合對象: 所有元素
是否繼承: no
百分比備註: 相對於BOX的寬度

例如:

BLOCKQUOTE { padding-top: 0.3em }

padding屬性和margin類似此處略去。

Border屬性:

平時我們在查看HTML文檔時,看到一段文字,並不會把它當作一個BOX,實際上BOX是有邊框的,只是平時不顯示出來罷了,而border屬性就是用來描述BOX邊框的。Border屬性分爲border-width、border-color和border-style,而這些屬性下面又有分支。

border-width屬性:

border-width屬性又分爲:border-top-width、border-right-width、border-bottom-width、border-left-width和border-width屬性,border-width用長度表示爲"thin/medium/thick"或長度單位表示,下面是border-width屬性的詳細列表:

屬性名稱: 'border-top-width'、'border-right-width'、'border-bottom-width'、'border-left-width'、'border-width'
屬性值: <border-width>
初始值: medium
適合對象: 所有元素
是否繼承: no
百分比備註: 被禁止

border-width爲快捷方式,順序爲上右下左,值之間用空格隔開。

border-color屬性:

border-color屬性用來顯示BOX邊框顏色,分爲border-top-color、border-right-color、border-bottom-color、border-right-color和border-color屬性,屬性值爲顏色,可以用十六進制表示,也可用rgb()表示,屬性見下:
屬性名稱: 'border-top-color'、'border-right-color'、'border-bottom-color'、'border-left-color'、
'border-color'

屬性值: <color>
初始值: 元素顏色的初始值
適合對象: 所有元素
是否繼承: no
百分比備註: 被禁止

border-color爲快捷方式,順序爲上右下左,值之間用空格隔開。

border-style屬性:

border-style屬性用來設置BOX對象邊框的樣式,它的屬性值爲CSS規定的關鍵字,平常看不到border是因爲,初始值是none的緣故。屬性見下:

屬性名稱: 'border-top-style'、'border-right-style'、'border-bottom-style'、'border-left-style'、'border-style'
屬性值: <border-style>
初始值: none
適合對象: 所有元素
是否繼承: no
百分比備註: 被禁止

border-color爲快捷方式,順序爲上右下左,值之間用空格隔開。

屬性值的名稱和代表意義如下:

none:無邊框。
dotted:邊框爲點線。
dashed:邊框爲長短線。
solid:邊框爲實線。
double:邊框爲雙線。
groove、ridge、inset和outset:顯示不同效果的3D邊框(根據color屬性)。

border屬性:

border屬性爲Border的快捷方式,屬性值間用空格隔開,順序是"邊框寬度 邊框樣式 邊框顏色",例如:

<h1 style="border:.5em outset red">hello!</h1>

還可以用border-top、border-right、border-bottom、border-left分別作爲上右下左的快捷方式,屬性值順序同border屬性。

 

總論|選擇器的使用方法|媒體屬性|BOX屬性|佈局屬性|
顏色背景屬性|字體屬性|文本屬性|列表屬性|表格屬性|用戶屬性
 
c5.htm CSS屬性:

3、佈局(Layout)屬性:

在以前的HTML裏,元素的位置只能靠元素的依次排列覺得,而在CSS裏你可以更精確的定位元素。Netscape曾提出過Layer標記,它對於精確佈局很有好處,但是並沒有被W3C承認,W3C在CSS提出了類似於Layer標記的功能。

position屬性:

position屬性用來決定元素的位置類型,詳見屬性:

屬性名稱: 'position'
屬性值: absolute | relative | static
初始值: static
適合對象: 所有元素
是否繼承: no
百分比備註: 被禁止
其屬性值分別代表:
absolute:屏幕上的絕對位置。
relative:屏幕上的相對位置。
static:固有位置。

direction屬性:

direction屬性決定BOX的排列方向,詳見屬性:

屬性名稱: 'direction'
屬性值: ltr| rtl
初始值: ltr
適合對象: 所有元素
是否繼承: yes
百分比備註: 被禁止

float和clear屬性:

在HTML中圖片可以選擇飄浮的位置,現在BOX對象通過CSS對於也可以選擇飄浮的位置。改變BOX的float屬性,BOX將飄浮在其他元素的左或右方:

屬性名稱: 'float'
屬性值: left| right|none
初始值: none
適合對象: 所有元素
是否繼承: no
百分比備註: 被禁止

例如:

<STYLE type="text/css">
IMG { float: left }
BODY, P, IMG { margin: 2em }
</STYLE>
<BODY>
<P>
<IMG src=img.gif>
Some sample text that has no other...
</BODY>

相反的,使用clear屬性將禁止元素在BOX的左方或右方飄浮:

屬性名稱: 'clear'
屬性值: left| right|both|none
初始值: none
適合對象: 所有元素
是否繼承: no
百分比備註: 被禁止

絕對位置屬性:

絕對位置屬性有四個屬性:top、right、bottom和left,屬性值爲長度單位或百分數:

屬性名稱: 'top'、'right'、'bottom'、'left'
屬性值: <length>|<percentage>|auto
初始值: none
適合對象: 所有元素
是否繼承: no
百分比備註: 被禁止

利用以上屬性,用戶就可以精確定義元素的位置,如:

<P style="position: relative; margin-right: 10px; left: 10px;">
I used two red hyphens to serve as a change bar. They
will "float" to the left of the line containing THIS
<SPAN style="position: absolute; top: auto; left: 0px; color: red;">--</SPAN>
word.</P>

z-index屬性:

在CSS中允許元素的重疊顯示,這樣就有一個顯示順序的問題,z-index屬性描述了元素的前後位置,如果把電腦屏幕看作X-Y平面的話,那麼Z軸就是垂直於屏幕的,z-index使用整數表示元素的前後位置,數值越大,就會顯示在相對靠前的位置,並且CSS同意在z-index中使用負數。

屬性名稱: 'z-index'
屬性值: auto|<integer>
初始值: auto
適合對象: 使用position屬性的元素
是否繼承: no
百分比備註: 被禁止

width屬性:

規定BOX的width屬性,可以使BOX的寬度不依靠它所包含的內容的多少:

屬性名稱: 'width'
屬性值: <length> | <percentage> | auto
初始值: auto
適合對象: 塊元素
是否繼承: no
百分比備註:根據父元素的width而定

在CSS中還提供了min-width和max-width屬性,使得BOX的寬度在最小寬度和最大寬度之間。

屬性名稱: 'min-width'
屬性值: <length> | <percentage>
初始值: 0
適合對象: all
是否繼承: no
百分比備註:根據父元素的width而定

屬性名稱: 'max-width'
屬性值: <length> | <percentage>
初始值: 100%
適合對象: all
是否繼承: no
百分比備註:根據父元素的width而定

height屬性:

相同的BOX還有height屬性來控制本身的高度:

屬性名稱: 'height'
屬性值: <length> | <percentage> | auto
初始值: auto
適合對象: 塊元素
是否繼承: no
百分比備註:根據父元素的height而定

在CSS中還提供了min-height和max-height屬性,使得BOX的高度在最小高度和最大高度之間。

屬性名稱: 'min-height'
屬性值: <length> | <percentage>
初始值: 0
適合對象: all
是否繼承: no
百分比備註:根據父元素的height而定

屬性名稱: 'max-height'
屬性值: <length> | <percentage>
初始值: 100%
適合對象: all
是否繼承: no
百分比備註:根據父元素的height而定

overflow屬性:

在規定元素的寬度和高度時,如果元素的面積不足以顯示全部內容的話就要用到overflow屬性:

屬性名稱: 'overflow'
屬性值: visible | hidden | scroll | auto
初始值: visible
適合對象: 元素的position屬性
是否繼承: no
百分比備註: 被禁止

屬性值含義如下:

visible:擴大面積以顯示所有內容。
hidden:隱藏超出範圍的內容。
scroll:在元素的右邊顯示一個滾動條。
auto:當內容超出元素面積時,顯示滾動條。

clip屬性:

CSS還提供了一種clip屬性,可以把元素區域剪切成各種形狀,但目前提供的只有方形一種:

屬性名稱: 'clip'
屬性值: <shape> | auto
初始值: auto
適合元素: 元素的position屬性被設爲absolute
是否繼承: no
百分比備註: 被禁止

<shape>值爲rect(top right bottom left)。

line-height和vertical-align屬性:

line-height屬性可以規定元素內部的行間距,使用長度單位或百分數:

屬性名稱: 'line-height'
屬性值: normal | <number> | <length> | <percentage>
初始值: normal
適合對象: 所有元素
是否繼承: yes
百分比備註:根據元素的字體大小而定

例如下面的例子,雖然表達方式不同,但結果一樣:

DIV { line-height: 1.2; font-size: 10pt }
DIV { line-height: 1.2em; font-size: 10pt }
DIV { line-height: 120%; font-size: 10pt }

vertical-align屬性決定元素在垂直位置的顯示:

屬性名稱: 'vertical-align'
屬性值: baseline | sub | super | top | text-top | middle | bottom | text-bottom | <percentage> | <length>
初始值: baseline
適合對象: inline elements
適合繼承: no
百分比備註: 根據元素的line-height屬性而定

屬性值含義如下:
baseline:與元素的基線對齊。
middle:與元素中部對齊。
sub:字下沉。
super:字上升。
text-top:文本頂部對齊。
text-bottom:文本底部對齊。
Top:和本行位置最高元素對齊。
Bottom:和本行位置最低元素對齊。

Visibility屬性:

該屬性用於控制元素的顯示或隱藏:

屬性名稱: 'visibility'
屬性值: inherit | visible | hidden
初始值: inherit
適合對象: 所有元素
是否繼承: 如果該值爲inherit,則繼承父元素屬性
百分比備註: 被禁止

總論|選擇器的使用方法|媒體屬性|BOX屬性|佈局屬性|
顏色背景屬性|字體屬性|文本屬性|列表屬性|表格屬性|用戶屬性
 
c6.htm CSS屬性:

4、顏色和背景(Color and Background)屬性:

這裏介紹有關CSS中前景色和背景顏色、圖片的設定方法。

color屬性:

color屬性用於設定元素的前景色:

屬性名稱: 'color'
屬性值: <color>
初始值: 根據用戶的初始值而定
適合對象: 所有元素
是否繼承: yes
百分比備註: 被禁止

color屬性的值可以是十六進制數值、rgb()函數或CSS承認的顏色名稱。如:

EM { color: red }
EM { color: rgb(255,0,0) }

背景屬性:

background-color屬性用於設定背景色,初始值爲透明:

屬性名稱: 'background-color'
屬性值: <color> | transparent
初始值: transparent
適合對象: 所有元素
是否繼承: no
百分比備註: 被禁止

backgroud-image屬性用於設定背景的圖片:

屬性名稱: 'background-image'
屬性值: <url> | none
初始值: none
適合對象: 所有元素
是否繼承: no
百分比備註: 被禁止

其中url可以爲絕對地址,也可以是相對地址,例如:

BODY { background-image: url(marble.gif) }
P { background-image: none }

以上兩個屬性利用普通的HTML屬性也可以實現,下面的屬性是CSS對原有HTML的擴展。
background-repeat屬性用來描述背景圖片的重複排列方式:

屬性名稱: 'background-repeat'
屬性值: repeat | repeat-x | repeat-y | no-repeat
初始值: repeat
適合對象: 所有元素
是否繼承: no
百分比備註: 被禁止

其中屬性值的含義爲:
repeat:沿X軸和Y軸兩個方向重複顯示圖片。
repeat-x:沿X軸方向重複圖片。
repeat-y:沿Y軸方向重複圖片。
none:不重複圖片。

例如:

BODY {
background: red url(pendant.gif);
background-repeat: repeat-y;
}
/*表示沿Y軸重複圖片"pendant.gif",其餘部分以紅色爲背景色*/

background-attachment屬性表示在滾動整個文檔時,背景圖片的顯示方式。它的屬性值有兩種:fixed和scroll,fixed相當於IE4裏的水印效果,也就是說在拖動文檔時,背景相對是靜止的,scroll則和文檔一起滾動。

background-position屬性用來指定背景圖片顯示的位置:

屬性名稱: 'background-position'
屬性值: [<percentage> | <length> ]{1,2} | [top | center | bottom] || [left | center | right]
初始值: 0% 0%
適合對象: 容器元素
是否繼承: no
百分比備註: refer to the size of the element itself

其中屬性值含義爲:
"top left"和"left top"表示"0% 0%"。
"top"、"top center"和"center top"表示"50% 0%"。
"right top"和"top right"都表示"100% 0%"。
"left"、"left center"和"center left"表示"0% 50%"。
"center"和"center center"表示"50% 50%"。
"right"、"right center"和"center right"都表示"100% 50%"。
"bottom left"和"left bottom"表示"0% 100%"。
"bottom"、"bottom center"和"center bottom"都表示"50% 100%"
"bottom right"和"right bottom"表示"100% 100%"。
例如:

BODY { background: url(banner.jpeg) right top } /* 100% 0% */
BODY { background: url(banner.jpeg) top center } /* 50% 0% */
BODY { background: url(banner.jpeg) center } /* 50% 50% */
BODY { background: url(banner.jpeg) bottom } /* 50% 100% */

background屬性是以上背景屬性的快捷方式,屬性和順序如下:

屬性名稱: 'background'
屬性值: <'background-color'> || <'background-image'> || <'background-repeat'> || <'background-attachment'> || <'background-position'>
適合對象: 所有元素
是否繼承: no
百分比備註: 只在background-position中容許使用

總論|選擇器的使用方法|媒體屬性|BOX屬性|佈局屬性|
顏色背景屬性|字體屬性|文本屬性|列表屬性|表格屬性|用戶屬性
 
c7.htm CSS屬性:

5、字體(Font)屬性:

這裏定義了關於字體的各種屬性。

font-family屬性定義字體的名稱,可以是一個字體的名稱,也可以是一類字體的名稱,字體的名稱一定要和計算機系統裏的完全一樣:

屬性名稱: 'font-family'
屬性值: [[ <family-name> | <generic-family> ],]* [<family-name> | <generic-family>]
初始值: 根據用戶定義而定
適合對象: 所有元素
是否繼承: yes
百分比備註: 被禁止

有些計算機系統裏如果沒有樣式單要求的字體,可以再設一個次字體以備萬一。例如:

BODY { font-family: Baskerville, "Heisi Mincho W3", Symbol, serif }

family-name是指確定的某字體,如Heisi Mincho W3,generic-family指某一類字體,如serif。

font-style屬性描述字體的傾斜程度:

屬性名稱: 'font-style'
屬性值: normal | italic | oblique
初始值: normal
適合對象: 所有元素
是否繼承: yes
百分比備註: 被禁止

font-variant屬性:

屬性名稱: 'font-variant'
屬性值: normal | small-caps
初始值: normal
適合對象: 所有元素
是否繼承: yes
百分比備註: 被禁止

一個使用了small-caps屬性的元素中的小寫字母看起來要比正常的大寫字母小一些。

font-weight屬性用來描述字重。

屬性名稱: 'font-weight'
屬性值: normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
初始值: normal
適合對象: 所有元素
是否繼承: yes
百分比備註: 被禁止

100到900代表9種不同的字重,400代表normal,700代表bold,900是最重的字體,bolder或lighter表示字體的字重比父元素高或低一級,比如父元素字重爲400,則bolder代表字重500,如果父元素本身字重爲900,那麼bolder後,字重還是900,同樣的lighter也一樣。有些字體並沒有100到900那麼全的字重,也許是從300到700,那麼字重的最小和最大值也爲300到700。例如:

P { font-weight: normal } /* 400 */
H1 { font-weight: 700 } /* bold */

font-size屬性描述字體的大小:

屬性名稱: 'font-size'
屬性值: <absolute-size> | <relative-size> | <length> | <percentage>
初始值: medium
適合對象: 所有元素
是否繼承: yes
百分比備註: relative to parent element's font size

該屬性可以使用絕對大小,也可以使用相對大小,其中絕對大小可以使用,如下關鍵字表示:

xx-small | x-small | small | medium | large | x-large | xx-large 分別代表最小、較小、小、中等、大、較大和最大。相對大小可以使用:larger 或smaller描述。例如:

P { font-size: 12pt; }
BLOCKQUOTE { font-size: larger }
EM { font-size: 150% }
EM { font-size: 1.5em }

Font屬性是以上屬性的快捷方式,屬性如下:

屬性名稱: 'font'
屬性值: [ [ <'font-style'> || <'font-variant'> || <'font-weight'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ]
適合對象: 所有元素
是否繼承: yes
百分比備註: 只在font-size使用

例如:

P { font: 12pt/14pt sans-serif } P { font: 80% sans-serif }
P { font: x-large/110% "new century schoolbook", serif }
P { font: bold italic large Palatino, serif }
P { font: normal small-caps 120%/120% fantasy }

 

總論|選擇器的使用方法|媒體屬性|BOX屬性|佈局屬性|
顏色背景屬性|字體屬性|文本屬性|列表屬性|表格屬性|用戶屬性
 
c8.htm CSS屬性:

6、文本(Text)屬性:

這裏的屬性將影響WEB文檔中的文本顯示情況。

text-indent屬性描述文本的縮進程度:

屬性名稱: 'text-indent'
屬性值: <length> | <percentage>
初始值: 0
適合對象: 容器元素
是否繼承: yes
百分比備註: 根據父元素的寬度而定

下面的例子表明段落的縮進值爲3em:

P { text-indent: 3em }

Alignment屬性表明文本的對齊方式:

屬性名稱: 'alignment'
屬性值: left | right | center | justify
初始值: 依照用戶定義
適合對象: block-level elements
是否繼承: yes
百分比備註: 被禁止

text-decoration屬性描述對文本的修飾方法:

屬性名稱: 'text-decoration'
屬性值: none | [ underline || overline || line-through || blink ]
初始值: none
適合對象: 所有元素
是否繼承: no (see clarification below)
百分比備註: 被禁止

屬性值含義分別爲:
underline:下劃線。
overline:上劃線。
line-through:刪除線。
blink:閃爍(如同Navigator中的blink標記的功能)

text-shadow屬性可以爲文本加入陰影的特效:

屬性名稱: 'text-shadow'
屬性值: none | <color> [, <color> ]*
初始值: none
適合對象: all
是否繼承: No
百分比備註: 只在描述透明度時有效

例如:

P { text-shadow: black }

上例將在文本的右下方顯示黑色陰影,另外陰影將增大BOX的面積。

letter-spacing屬性表明文本的字間距:屬性名稱: 'letter-spacing'

屬性值: normal | <length> | auto
初始值: normal
適合對象: 所有元素
是否繼承: yes
百分比備註: 被禁止

例如:

BLOCKQUOTE { letter-spacing: 0.1em }

word-spacing屬性表明文本中單詞間距:

屬性名稱: 'word-spacing'
屬性值: normal | <length>
初始值: normal
適合對象: 所有元素
是否繼承: yes
百分比備註: 被禁止

例如:

H1 { word-spacing: 1em }

text-transform屬性可以將BOX內的文本按指定的大寫或小寫形式顯示:

屬性名稱: 'text-transform'
屬性值: capitalize | uppercase | lowercase | none
初始值: none
適合對象: 所有元素
是否繼承: yes
百分比備註: 被禁止

屬性值含義爲:
capitalize:把BOX中的每句句首字母變成大寫。
uppercase:把BOX中所有的字母變成大寫。
lowercase:把BOX中所有的字母變成小寫。

White-space屬性描述如何顯示文本中的空格,在HTML中,空格是被省略的,也就是說你在一個段落標記的開頭無論輸入多少個空格都是無效的,要輸入空格有兩個方法,一是直接輸入空格的代碼"&nbsp;",或者使用<pre>標記,CSS中也制定了類似於pre的屬性:

屬性名稱: 'white-space'
屬性值: normal | pre | nowrap
初始值: normal
適合對象: 容器元素
是否繼承: yes
百分比備註: 被禁止

例如:

PRE { white-space: pre }
P { white-space: normal }

 

總論|選擇器的使用方法|媒體屬性|BOX屬性|佈局屬性|
顏色背景屬性|字體屬性|文本屬性|列表屬性|表格屬性|用戶屬性
 
c9.htm CSS屬性:

7、列表屬性:

這裏的屬性用來描述列表(list)的一系列屬性。

list-style-type屬性描述用於列表每一項前使用的符號:

屬性名稱: 'list-style-type'
屬性值: disc | circle | square | decimal | lower-roman | upper-roman | lower-alpha | upper-alpha | none
初始值: disc
適合對象: 列表元素
是否繼承: yes
百分比備註: 被禁止

屬性值含義爲:
disc:圓餅形。
circle:空心圓形。
square:方形。
decimal:十進制數值。
lower-roman:小寫羅馬數字。
upper-roman:大寫羅馬數字。
lower-alpha:小寫希臘字母。
upper-alpha:大寫希臘字母。

例如:

<STYLE>
OL { list-style-type: lower-roman }
</STYLE>
<BODY>
<OL>
<LI> This is the first item.
<LI> This is the second item.
<LI> This is the third item.
</OL>
</BODY>

還可以利用list-style-image把列表前面的符號換爲圖形:

屬性名稱: 'list-style-image'
屬性值: <url> | none
初始值: none
適合對象: 列表元素
是否繼承: yes
百分比備註: 被禁止

<url>可以是絕對地址,也可以是相對地址。

list-style-position屬性用於描述列表的位置顯示:

屬性名稱: 'list-style-position'
屬性值: inside | outside
初始值: outside
適合對象: 列表元素
是否繼承: yes
百分比備註: 被禁止

屬性值outside和inside分別表示在BOX外部顯示或內部顯示,例如:

<STYLE type="text/css">
UL { list-style: outside }
UL.compact { list-style: inside } </STYLE> <UL>
<LI>first list item comes first
<LI>second list item comes second
</UL>
<UL class=compact>
<LI>first list item comes first
<LI>second list item comes second
</UL>

list-style屬性爲以上屬性的快捷方式:

屬性名稱: 'list-style'
屬性值: <'list-style-type'> || <'list-style-position'> || <'list-style-image'>
初始值: no
適合對象: 列表元素
是否繼承: yes
百分比備註: 被禁止

例如:

UL { list-style: upper-roman inside } /* 對任何UL有效*/
UL ~ UL { list-style: circle outside } /* 對任何UL內部的UL標記有效*/

 

總論|選擇器的使用方法|媒體屬性|BOX屬性|佈局屬性|
顏色背景屬性|字體屬性|文本屬性|列表屬性|表格屬性|用戶屬性
 
c10.htm 、CSS屬性:

8、表格屬性:

由於表格中的大部分屬性已經在以上的各類屬性中探討過了,所以這裏只有兩個屬性介紹:

row-span屬性描述表格跨越的行的數目:

屬性名稱: 'row-span'
屬性值: <integer>
初始值: 1
適合對象: 表格元素
是否繼承: no
百分比備註: 被禁止

column-span屬性描述表格跨越的列的數目:

屬性名稱: 'column-span'
屬性值: <integer>
初始值: 1
適合對象: 表格元素
是否繼承: no
百分比備註: 被禁止

總論|選擇器的使用方法|媒體屬性|BOX屬性|佈局屬性|
顏色背景屬性|字體屬性|文本屬性|列表屬性|表格屬性|用戶屬性
 
c11.htm CSS屬性:

9、用戶界面屬性:

cursor屬性,用戶可以指定在某個元素上要使用的光標形狀:

屬性名稱: 'cursor'
屬性值: auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize| text | wait | help | <url>
初始值: auto
適合對象: 所有元素
是否繼承: yes
百分比備註: 被禁止

屬性值分別代表鼠標指針在windows操作裏的各種形狀,另外還可以指定指針圖標的url地址,不過CSS還暫時不支持ani動畫光標。

結束語:

到此,所有關於CSS現有的屬性都介紹完了(還有一些關於聽覺方面的樣式單,就不再作介紹),本文也該結束了,雖然現在支持樣式單的瀏覽器種類還不多,但也佔到了大半,樣式單遲早會成爲瀏覽器的統一標準,原因有兩個:一、樣式單是W3C唯一接受的樣式標準,而且沒有任何跡象表明W3C會把Javascript樣式單作爲樣式單標準;二則是CSS有效的解決了把事件引入元素的問題,配合腳本程序,是動態HTML不可缺少的一部分,嘗試着用樣式單建立Web頁,你會發現它真的很方便。希望我的這些努力能爲你熟練掌握樣式單盡一點力。

 

總論|選擇器的使用方法|媒體屬性|BOX屬性|佈局屬性|
顏色背景屬性|字體屬性|文本屬性|列表屬性|表格屬性|用戶屬性
發佈了27 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章