CSS入門

CSS入門


1.基本語法規範
分析一個典型CSS的語句:
----------------------------------------------------------------------------------------------------------------------- p {COLOR:#FF0000;BACKGROUND:#FFFFFF}
其中"p"我們稱為"選擇器"(selectors),指明我們要給"p"定義樣式;
樣式聲明寫在一對大括號"{}"中;
COLOR和BACKGROUND稱為"屬性"(property),不同屬性之間用分號";"分隔;
"#FF0000"和"#FFFFFF"是屬性的值(value)。
----------------------------------------------------------------------------------------------------------------------- 2.顏色值
顏色值可以用RGB值寫,例如:color : rgb(255,0,0)也可以用十六進製寫,就象上麵例子color:#FF0000。如果十六進製值是成對重複的可以簡寫,效果一樣。例如:#FF0000可以寫成#F00。但如果不重複就不可以簡寫,例如#FC1A1B必須寫滿六位。
----------------------------------------------------------------------------------------------------------------------- 3.定義字體
web標準推薦如下字體定義方法:

body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋體,sans-serif; }
字體按照所列出的順序選用。如果用戶的計算機含有Lucida Grande字體,文檔將被指定為Lucida Grande。沒有的話,就被指定為Verdana字體,如果也沒有Verdana,就指定為Lucida字體,依此類推,;
Lucida Grande字體適合Mac OS X;
Verdana字體適合所有的Windows係統;
Lucida適合UNIX用戶
"宋體"適合中文簡體用戶;
如果所列出的字體都不能用,則默認的sans-serif字體能保證調用;
----------------------------------------------------------------------------------------------------------------------- 4.群選擇器
當幾個元素樣式屬性一樣時,可以共同調用一個聲明,元素之間用逗號分隔,: p, td, li { font-size : 12px ; }
----------------------------------------------------------------------------------------------------------------------- 5.派生選擇器
可以使用派生選擇器給一個元素裏的子元素定義樣式,例如這樣:

li strong { font-style : italic; font-weight : normal;}
就是給li下麵的子元素strong定義一個斜體不加粗的樣式。
----------------------------------------------------------------------------------------------------------------------- 6.id選擇器
用CSS布局主要用層"div"來實現,而div的樣式通過"id選擇器"來定義。例如我們首先定義一個層

然後在樣式表裏這樣定義:

#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
其中"menubar"是你自己定義的id名稱。注意在前麵加"#"號。

id選擇器也同樣支持派生,例如:

#menubar p { text-align : right; margin-top : 10px; }
這個方法主要用來定義層和那些比較複雜,有多個派生的元素。
----------------------------------------------------------------------------------------------------------------------- 7.類別選擇器
在CSS裏用一個點開頭表示類別選擇器定義,例如:

.14px {color : #f60 ;font-size_replace:14px ;}
在頁麵中,用class="類別名"的方法調用:

14px大小的字體
這個方法比較簡單靈活,可以隨時根據頁麵需要新建和刪除。
----------------------------------------------------------------------------------------------------------------------- 8.定義鏈接的樣式
CSS中用四個偽類來定義鏈接的樣式,分別是:a:link、a:visited、a:hover和a : active,例如:

a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
a:active {font-weight : bold ;text-decoration : none ;color : #F90 ;}
以上語句分別定義了"鏈接、已訪問過的鏈接、鼠標停在上方時、點下鼠標時"的樣式。注意,必須按以上順序寫,否則顯示可能和你預想的不一樣。記住它們的順序是“LVHA”。

CSS布局與傳統表格(table)布局最大的區別在於:原來的定位都是采用表格,通過表格的間距或者用無色透明的GIF圖片來控製文布局版塊的間距;而現在則采用層(div)來定位,通過層的margin,padding,border等屬性來控製版塊的間距。
----------------------------------------------------------------------------------------------------------------------- 9.定義DIV
分析一個典型的定義div例子:

#sample{ MARGIN: 10px 10px 10px 10px;
PADDING:20px 10px 10px 20px;
BORDER-RIGHT: #CCC 2px solid;
BORDER-BOTTOM: #CCC 2px solid;
BORDER-LEFT: #CCC 2px solid;
BORDER-TOP: #CCC 2px solid;
BACKGROUND: url(images/bg_poem.jpg) #FEFEFE no-repeat right bottom;
COLOR: #666;
TEXT-ALIGN: center;
LINE-HEIGHT: 150%; WIDTH:60%; }

說明如下:


層的名稱為sample,在頁麵中用
就可以調用這個樣式。
MARGIN是指層的邊框以外留的空白,用於頁邊距或者與其它層製造一個間距。"10px 10px 10px 10px"分別代表"上右下左"(順時針方向)四個邊距,如果都一樣,可以縮寫成"MARGIN: 10px;"。如果邊距為零,要寫成"MARGIN: 0px;"。注意:當值是零時,除了RGB顏色值0%必須跟百分號,其他情況後麵可以不跟單位"px"。MARGIN是透明元素,不能定義顏色。
PADDING是指層的邊框到層的內容之間的空白。和margin一樣,分別指定上右下左邊框到內容的距離。如果都一樣,可以縮寫成"PADDING:0px"。單獨指定左邊可以寫成"PADDING-LEFT: 0px;"。PADDING是透明元素,不能定義顏色。
BORDER是指層的邊框"BORDER-RIGHT: #CCC 2px solid;"是定義層的右邊框顏色為"#CCC",寬度為"2px",樣式為"solid"直線。如果要虛線樣式可以用"dotted"。
BACKGROUND是定義層的背景。分2級定義,先定義圖片背景,采用"url(../images/bg_logo.gif)"來指定背景圖片路徑;其次定義背景色"#FEFEFE"。"no-repeat"指背景圖片不需要重複,如果需要橫向重複用"repeat-x",縱向重複用"repeat-y",重複鋪滿整個背景用"repeat"。後麵的"right bottom;"是指背景圖片從右下角開始。如果沒有背景圖片可以隻定義背景色BACKGROUND: #FEFEFE
COLOR用於定義字體顏色.
TEXT-ALIGN用來定義層中的內容排列方式,center居中,left居左,right居右。
LINE-HEIGHT定義行高,150%是指高度為標準高度的150%,也可以寫作:LINE-HEIGHT:1.5或者LINE-HEIGHT:1.5em,都是一樣的意思。
WIDTH是定義層的寬度,可以采用固定值,例如500px,也可以采用百分比,象這裏的"60%"。要注意的是:這個寬度僅僅指你內容的寬度,不包含margin,border和padding。但在有些瀏覽器中不是這麽定義的,需要你多試試。
----------------------------------------------------------------------------------------------------------------------- 10.CSS2盒模型
自從1996年CSS1的推出,W3C組織就建議把所有網頁上的對像都放在一個盒(box)中,設計師可以通過創建定義來控製這個盒的屬性,這些對像包括段落、列表、標題、圖片以及層
。盒模型主要定義四個區域:內容(content)、邊框距(padding)、邊界(border)和邊距(margin)。上麵我們講的sample層就是一個典型的盒。對於初學者,經常會搞不清楚margin,background-color,background-image,padding,content,border之間的層次、關係和相互影響。這裏提供一張盒模型的3D示意圖,希望便於你的理解和記憶。



圖片附件: cs*****ox3d.gif (2006-4-3 16:04, 27.31 K)



11.輔助圖片一律用背景處理
用XHTML+CSS布局,有一個技術一開始讓你不習慣,應該說是一種思維方式與傳統表格布局不一樣,那就是:所有輔助圖片都用背景來實現。類似這樣:

BACKGROUND: url(images/bg_poem.jpg) #FEFEFE no-repeat right bottom;
盡管可以用直接插在內容中,但這是不推薦的。這裏的"輔助圖片"是指那些不是作為頁麵要表達的內容的一部分,而僅僅用於修飾、間隔、提醒的圖片。例如:相冊中的圖片、圖片新聞中的圖片,上麵的3d盒模型圖片都屬於內容的一部分,它們可以用元素直接插在頁麵裏,而其它的類似logo,標題圖片,列表前綴圖片都必須采用背景方式或者其他CSS方式顯示。
請您先登陸,再發跟帖!