Board logo

標題: [教學] (教學第30篇) CSS 與 JavaScript 上篇 [打印本頁]

作者: 小誌    時間: 2010-5-19 08:30     標題: (教學第30篇) CSS 與 JavaScript 上篇

CSS?這是什麼東東啊?!相信你看到這三個字母時必定與偶一樣:丈二金剛摸不著頭腦,其實CSS的全名是〔Casciding Style Sheet〕,以字面上來解釋就是〔連(串)接樣式表〕,這種說法不要說是剛接觸的你,連偶都搞不懂!簡單的說,就是網頁的格式設定啦!

使用CSS有什麼好處呢?

作者: 小誌    時間: 2010-5-19 08:39

宣告CSS
要宣告CSS樣式表首先你必須具備有HTML網頁語法的基礎!也就是你必須了解網頁原始碼中標籤的意義,在此我們假設你已經熟悉了這些HTML網頁標籤!

樣式宣告的標準語法如下:
  1. Element {Property : value}
複製代碼

注意:HTML網頁標籤屬性名稱與HTML網頁標籤屬性值之間必須以冒號「:」隔開;而HTML網頁標籤屬性名稱與HTML網頁標籤屬性值則必需以一組大括號{ }包括起來!


獨立宣告
獨立宣告?什麼叫獨立宣告啊?!獨立宣告也就所謂的分組宣告,網頁標籤的可設定屬性相當多,因此以分組的宣告方式來管理是一個不錯的選擇,例如:BODY標籤它可以設定的屬性就相當地多,有背景顏色、文字大小、文字字型樣式.....等等,現在就以BODY標籤的樣式宣告為示範對象進行解說!

範例解說A,如果我們在樣式表中宣告下列的BODY標籤敘述:
  1. BODY {background : #FF0000;font-size : 10pt}
複製代碼
這樣的樣式宣告將會把包括在<BODY>與</BODY>之間的文字外觀顏色都變成紅色同時將文字的大小指定為10pt。

範例解說B,如果我們在樣式表中宣告下列的BODY標籤敘述:
  1. BODY {background : #00FF00}
  2. BODY {font-size : 10pt}
複製代碼
這樣的樣式宣告又會造成什麼結果呢?結果是與範例解說A一模一樣的:被包括在<BODY>與</BODY>之間的文字外觀顏色都變成紅色而且文字的大小指定為10pt。既然所得到的結果都一樣,那分組的意義在哪裡呢?分組的意義在於分類管理標籤不同的樣式性質,以本例來說,我們分類管理了BODY標籤的顏色相關屬性與文字相關屬性!


複合宣告
複合宣告,複合宣告可分為兩種情況!一種是將網頁標籤的不同樣式性質宣告在一起〔不同的屬性設定以分號格開〕,這種情況之前我們已經使用過了呦!另一種就是將不同的網頁標籤但是樣式性質相同的屬性合併在一起宣告〔不同的網頁標籤以逗號格開〕!

單獨標籤的複合宣告:
一行通吃
  1. BODY{background:#FF0000;color:#00FF00; font-size:10pt ; font-family:細明體 }
複製代碼
這樣的樣式宣告結果將是:被包括在<BODY>與</BODY>標籤之間的文字外觀顏色都變成綠色、文字的大小指定為10pt、文字字型為「細明體」,同時,背景顏色也被指定為紅色。在本例中我們一次就宣告了BODY標籤的四種樣式屬性,但請注意:每個指定的樣式屬性之間必須以分號隔開!

多行排列
  1. BODY { background:#FF0000 ;
  2.      color:#00FF00 ;
  3.     font-size:10pt ;
  4.     font-family:細明體 }
複製代碼
其實多行排列與一行通吃所得到的結果是相同的!但是為了顧及HTML網頁原始檔的維護與排版,當宣告過長時我們就可在分號之後加以折行撰寫,不管中間有多少空白字元或是幾個換行列,只要我們宣告的格式正確就都不會有錯誤發生的呦!


單獨標籤的複合宣告:
一行通吃  
  1. BODY,P { color:#00FF00 ; font-size:10pt ; font-family:細明體 }
複製代碼
這樣的樣式宣告結果將是:被包括在<BODY>與</BODY>標籤之間的文字外觀顏色都變成綠色、文字的大小指定為10pt、文字字型為細明體;同時,在被包括在<P>與</P>標籤之間的文字外觀顏色也都變成綠色、文字的大小指定為10pt、文字字型為細明體,本例中我們一次就宣告了BODY標籤與P標籤的三種共通樣式屬性。
請注意:進行複合宣告的標籤之間必須以逗號隔開!


多行排列
  1. BODY,P { color:#00FF00 ;
  2.         font-size:10pt ;
  3.        font-family:細明體 }
複製代碼
同樣的,多組標籤的複合宣告也可以使用多行排列,與一行通吃所得到的結果是相同的!
作者: 小誌    時間: 2010-5-19 08:44

使用CSS
為了讓大家了解CSS的使用方式我們將以循序漸漸的方式引導大家進入CSS的美麗新世界!




標準用法
典型的<STYLE>樣式表宣告:
  1. <HTML>
  2. <HEAD>
  3. <STYLE>
  4. <!--
  5. BODY {background:RED;color:BLACK}
  6. BODY {font-size:12pt}
  7. -->
  8. </STYLE>
  9. <TITLE>典型的樣式表宣告</TITLE>
  10. </HEAD>
  11. </BODY>這是標準的STYLE宣告<BODY>
  12. </HTML>
複製代碼
這樣的樣式宣告會造成什麼結果呢?結果就是將被包括在<BODY>與<BODY>標籤之間的文字外觀顏色都變成黑色、文字大小為12pt,同時網頁的背景色設定為紅色。
[attach]733[/attach]


網頁標籤內的<STYLE>樣式宣告:
我們除了可以將CSS屬性以集合的方式合併宣告外,也可以在網頁標籤中直接加入CSS的樣式性質!
  1. <HTML>
  2. <HEAD>
  3. <TITLE>網頁標籤內的樣式宣告</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <P STYLE=" font-size:14pt;color:BLUE">
  7. 這是在網頁標籤內STYLE宣告
  8. </P>
  9. </BODY>
  10. </HTML>
複製代碼
這樣的樣式宣告又將會造成什麼結果呢?結果就是將被包括在<P>與</P>標籤之間的文字外觀顏色都變成藍色、文字大小為14pt,為什麼會這樣呢?因為我們在<P>網頁標籤中又加上了CSS的STYLE性質設定:font-size:14pt 將文字大小格式設定為14pt;color:BLUE 同時將文字外觀顏色設定為藍色。
[attach]734[/attach]

提示!!
直接以STYLE屬性在HTML標籤內指定樣式,就是所謂的『線內樣式』設定。
作者: 小誌    時間: 2010-5-19 08:48

進階用法
進階的<LINK>樣式表檔案參照:
如果我們有很多的檔案要採用統一的設計風格,如果在每張網頁中都加入相同的樣式宣告未免太麻煩、太沒效率啦!因此,我們可以先自行建立一個樣式參照檔案,這個參照檔案只是一個純文字的檔案格式,任意一種文書編輯器就可以用來編輯參照檔案的內容!

樣式表檔案的內容並不需要加上<STYLE>與</STYLE>標籤,同時,更不需要加上<!- -與- -> 註解標籤,現在就請你開啟你慣用的文書編輯器來編輯一個樣式參照檔案,同時將檔案名稱定為 test1.css (這只是範例,參照檔案的名稱你可以自訂)並且加入以下內容:
test1.css
  1. BODY {font-size: 12pt ; font-family: 標楷體}
  2. BODY {background: #008800 ; color: #FFFFFF}

  3. P {color:RED}
  4. P {font-size:14pt}
複製代碼
這樣的樣式內容是什麼意思呢?就是將被包括在<BODY>與<BODY>標籤之間的文字字型設定為標楷體、文字大小為12pt,網頁的背景設設定為綠色,文字外觀顏色都變成白色;包括在<P>與</P>標籤之間的文字大小為14pt、文字外觀顏色都變成紅色。

在建立好參照檔案後,接著我們就要利用LINK標籤來指定樣式表的關聯啦!現在我們就來建立一個HTML網頁檔:
  1. <HTML>
  2. <HEAD>
  3. <TITLE>參照樣式檔案範例</TITLE>
  4. <LINK REL=STYLESHEET TYPE="text/css" HREF="test.css">
  5. </HEAD>
  6. <BODY>
  7. 這是在BODY標籤內的文字
  8. <P>
  9. 這是在P標籤內的文字
  10. </P>
  11. </BODY>
  12. </HTML>
複製代碼



進階的@import樣式表檔案參照:
我們除了可以用LINK標籤來指定樣式表的關聯外,也可以採用@import 指定法!但是這種指定法比較麻煩一點,不但要把它加在<STYLE>與</STYLE>標籤內,同時還得加上<!-- 與 --> 註解標籤。

我們沿用上一個範例的test1.css樣式檔案來說明,現在就讓我們來建立一個以@import指定法的HTML網頁檔:
  1. <HTML>
  2. <HEAD>
  3. <TITLE>參照樣式檔案範例</TITLE>
  4. <STYLE>
  5. <!--
  6. @import url("test1.css");
  7. -->
  8. </STYLE>
  9. </HEAD>
  10. <BODY>
  11. 這是在BODY標籤內的文字
  12. <P>
  13. 這是在P標籤內的文字
  14. </P>
  15. </BODY>
  16. </HTML>
複製代碼

[attach]735[/attach]
作者: 小誌    時間: 2010-5-19 08:51

樣式宣告衝突時的優先順序
當我們混合多種的樣式宣告法後,若有些標籤樣式的性質重複宣告了怎麼辦?他們的優先順序如何?

作用優先順序:直接加註在標籤內的樣式性質 > STYLE樣式區段內的性質 > 鏈結進來的樣式檔案性質。



設定優先順序:網頁設計者的設定 > 瀏覽者的使用者自訂 > 瀏覽器的預先設定。



提示!!
一般來說,我們都只是運用CSS來設定網頁文字的大小、樣式、字型與顏色,但是現在最流行的是所謂的:動態網頁(Dynamic HTML),動態網頁解決了所有對網頁文件的存取限制,也就說我們可以在HTML網頁中加入動態的效果,動態的HTML可以使HTML元件(圖片、文字字串等等)游移於網頁之中,或是產生與瀏覽者有互動性的增強功能,當然,單靠CSS是做不到這種互動性功能的,但是卻可以結合程式語言來達到動態的效果,而最常用來結合CSS創造出動態HTML互動性效果的程式語言應該就是JavaScript了。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)