CSS語法分為基礎語法和高級語法。
### 一,CSS 基礎語法
(1)CSS 語法
CSS 規則由兩個主要的部分構成:選擇器,以及一條或多條聲明,請使用花括號來包圍聲明。
selector {declaration1; declaration2; ... declarationN }
選擇器通常是您需要改變樣式的 HTML 元素。每條聲明由一個屬性和一個值組成。屬性(property)是您希望設
置的樣式屬性(style attribute)。每個屬性有一個值。屬性和值被冒號分開。
selector {property: value}
下面這行代碼的作用是將 h1 元素內的文字顏色定義為紅色,同時將字體大小設置為 14 像素。在這個例子中,h1
是選擇器,color 和 font-size 是屬性,red 和 14px 是值。
h1 {color:red; font-size:14px;}
下面的示意圖為您展示了上面這段代碼的結構:

選擇器:告訴瀏覽器你要改變哪個DOM元素的樣式;聲明:告訴瀏覽器DOM元素要變成什么樣式。值:告訴瀏覽器改變某個樣式的具體量。
(2)值的不同寫法和單位
除了英文單詞 red,我們還可以使用十六進制的顏色值 #ff0000:
p { color: #ff0000; }
為了節約字節,我們可以使用 CSS 的縮寫形式:
p { color: #f00; }
我們還可以通過兩種方法使用 RGB 值:
p { color: rgb(255,0,0); }
p { color: rgb(100%,0%,0%); }
請注意,當使用 RGB 百分比時,即使當值為 0 時也要寫百分比符號。但是在其他的情況下就不需要這么做了。
比如說,當尺寸為 0 像素時,0 之后不需要使用 px 單位,因為 0 就是 0,無論單位是什么。
(3)記得寫引號
如果值為若干單詞,則要給值加引號:
p {font-family: "sans serif";}
(4)多重聲明:
如果要定義不止一個聲明,則需要用分號將每個聲明分開。
下面的例子展示出如何定義一個紅色文字的居中段落。最后一條規則是不需要加分號的,因為分號在英語中是一
個分隔符號,不是結束符號。然而,大多數有經驗的設計師會在每條聲明的末尾都加上分號,這么的好處是,當你從
現有的規則中增減聲明時,會盡可能的減少出錯的可能性。就像這樣:
p {text-align:center; color:red;}
你應該在每行只描述一個屬性,這樣可以增強樣式定義的可讀性,就像這樣:
~~~
? ? ?p {
? ? ? ? ? text-align: center;
? ? ? ? ? color: black;
? ? ? ? ? font-family: arial;
? ? ? ? }
~~~
(5)空格和大小寫
大多數樣式表包含不止一條規則,而大多數規則包含不止一個聲明。多重聲明和空格的使用使得樣式表更容易被
編輯:
~~~
? ? ? body {
? ? ? ? ? ? ? ? ? ?color: #000;
? ? ? ? ? ? ? ? ? ?background: #fff;
? ? ? ? ? ? ? ? ? ?margin: 0;
? ? ? ? ? ? ? ? ? ?padding: 0;
? ? ? ? ? ? ? ? ? ?font-family: Georgia, Palatino, serif;
? ? ? ? ? ? ? ?}
~~~
是否包含空格不會影響 CSS 在瀏覽器的工作效果,同樣,與 XHTML 不同,CSS 對大小寫不敏感。不過存在一
個例外:如果涉及到與 HTML 文檔一起工作的話,class 和 id 名稱對大小寫是敏感的。
### 二,CSS 高級語法
(1)選擇器的分組
你可以對選擇器進行分組,這樣,被分組的選擇器就可以分享相同的聲明。用逗號將需要分組的選擇器分開。在
下面的例子中,我們對所有的標題元素進行了分組。所有的標題元素都是綠色的。
~~~
? ? ? h1,h2,h3,h4,h5,h6 {
? ? ? ?color: green;
? ? ? }
~~~
(2)繼承及其問題
根據 CSS,子元素從父元素繼承屬性。但是它并不總是按此方式工作。看看下面這條規則:
~~~
? ? ? body {
? ? ? ?font-family: Verdana, sans-serif;
? ? ? }
~~~
根據上面這條規則,站點的 body 元素將使用 Verdana 字體(假如訪問者的系統中存在該字體的話)。通過 CSS
繼承,子元素將繼承最高級元素(在本例中是 body)所擁有的屬性(這些子元素諸如 p, td, ul, ol, ul, li, dl, dt,和
dd)。不需要另外的規則,所有 body 的子元素都應該顯示 Verdana 字體,子元素的子元素也一樣。并且在大部分的
現代瀏覽器中,也確實是這樣的。
但是在那個瀏覽器大戰的血腥年代里,這種情況就未必會發生,那時候對標準的支持并不是企業的優先選擇。比
方說,Netscape 4 就不支持繼承,它不僅忽略繼承,而且也忽略應用于 body 元素的規則。IE/Windows 直到 IE6 還
存在相關的問題,在表格內的字體樣式會被忽略。我們又該如何是好呢?
(3)友善地對待Netscape 4
幸運地是,你可以通過使用我們稱為 "Be Kind to Netscape 4" 的冗余法則來處理舊式瀏覽器無法理解繼承的問
題。
~~~
? ? ? body ?{
? ? ? ? ? ?font-family: Verdana, sans-serif;
? ? ? }
? ? ?p, td, ul, ol, li, dl, dt, dd ?{
? ? ? ? ? font-family: Verdana, sans-serif;
? ? ? }
~~~
4.0 瀏覽器無法理解繼承,不過他們可以理解組選擇器。這么做雖然會浪費一些用戶的帶寬,但是如果需要對
Netscape 4 用戶進行支持,就不得不這么做。
(4)繼承是一個詛咒嗎?
如果你不希望 "Verdana, sans-serif" 字體被所有的子元素繼承,又該怎么做呢?比方說,你希望段落的字體是
Times。沒問題。創建一個針對 p 的特殊規則,這樣它就會擺脫父元素的規則:
~~~
? ? ?body ?{
? ? ? ? ?font-family: Verdana, sans-serif;
? ? ?}
? ? td, ul, ol, ul, li, dl, dt, dd ?{
? ? ? ? font-family: Verdana, sans-serif;
? ? ?}
? ? ?p ?{
? ? ? ?font-family: Times, "Times New Roman", serif;
? ? ?}
~~~
- 前言
- HTML學習1:Dreamweaver8的安裝
- HTML學習2:初識HTML
- HTML學習3:常用標簽之文本標簽
- HTML學習4:常用標簽之列表標簽
- HTML學習5:常用標簽之圖像標簽
- HTML學習6:常用標簽之超鏈接標簽
- HTML學習7:常用標簽之表格標簽
- HTML學習8:常用標簽之框架標簽
- HTML學習9:常用標簽之表單標簽
- HTML學習10:表單格式化
- HTML學習11:HTTP 方法
- HTML學習12:其他常見標簽之頭標簽
- HTML學習13:其他常見標簽之體標簽
- 輕松學習JavaScript一:為什么學習JavaScript
- 輕松學習JavaScript二:JavaScript語言的基本語法要求
- 輕松學習JavaScript三:JavaScript與HTML的結合
- 輕松學習JavaScript四:JS點擊燈泡來點亮或熄滅這盞燈的網頁特效映射出JS在HTML中作用
- 輕松學習JavaScript五:JavaScript的變量和數據類型
- 輕松學習JavaScript六:JavaScript的表達式與運算符
- 輕松學習JavaScript七:JavaScript的流程控制語句
- 輕松學習JavaScript八:JavaScript函數
- 輕松學習JavaScript九:JavaScript對象和數組
- 輕松學習JavaScript十:JavaScript的Date對象制作一個簡易鐘表
- 輕松學習JavaScript十一:JavaScript基本類型(包含類型轉換)和引用類型
- 輕松學習JavaScript十二:JavaScript基于面向對象之創建對象(一)
- 輕松學習JavaScript十二:JavaScript基于面向對象之創建對象(二)
- 輕松學習JavaScript十三:JavaScript基于面向對象之繼承(包含面向對象繼承機制)
- 輕松學習JavaScript十四:JavaScript的RegExp對象(正則表達式)
- 輕松學習JavaScript十五:JavaScript之BOM簡介
- 輕松學習JavaScript十六:JavaScript的BOM學習(一)
- 輕松學習JavaScript十七:JavaScript的BOM學習(二)
- 輕松學習JavaScript二十九:JavaScript中的this詳解
- CSS基礎學習一:CSS概述
- CSS基礎學習二:如何創建 CSS
- CSS基礎學習三:CSS語法
- CSS基礎學習四:元素選擇器
- CSS基礎學習五:類選擇器
- CSS基礎學習六:id選擇器
- CSS基礎學習七:屬性選擇器
- CSS基礎學習八:派生選擇器
- CSS基礎學習九:偽類
- CSS基礎學習十:偽元素
- CSS基礎學習十一:選擇器的優先級
- CSS基礎學習十二:CSS樣式
- CSS基礎學習十三:盒子模型
- CSS基礎學習十四:盒子模型補充之display屬性設置
- CSS基礎學習十五:盒子模型補充之外邊距合并
- CSS基礎學習十六:CSS盒子模型補充之border-radius屬性
- CSS基礎學習十七:CSS布局之定位
- CSS基礎學習十八:CSS布局之浮動
- CSS基礎學習十九:CSS布局之圖文混排,圖像簽名,多圖拼接和圖片特效
- DIV+CSS實操一:經管系網頁總體模塊布局
- DIV+CSS實操二:經管系網頁添加導航欄和友情鏈接欄
- DIV+CSS實操三:經管系網頁內容模塊添加標題欄和版權信息模塊
- DIV+CSS實操四:經管系網頁內容模塊內容添加(一)
- DIV+CSS實操五:經管系網頁內容模塊內容添加(二)
- DIV+CSS實操六:經管系網頁添加導航欄下拉菜單
- DIV+CSS實操七:中文系內容模塊控制文本不換行和超出指定寬度后用省略號代替
- JS中實現字符串和數組的相互轉化