css 基礎語法
css 簡介
css 高階語法
css 語法
css 規則由兩個主要的部分構成:選擇器,以及一條或多條宣告。
selector
選擇器通常是您需要改變樣式的 html 元素。
每條宣告由乙個屬性和乙個值組成。
屬性(property)是您希望設定的樣式屬性(style attribute)。每個屬性有乙個值。屬性和值被冒號分開。
selector
下面這行**的作用是將 h1 元素內的文字顏色定義為紅色,同時將字型大小設定為 14 畫素。
在這個例子中,h1 是選擇器,color 和 font-size 是屬性,red 和 14px 是值。
h1 下面的示意圖為您展示了上面這段**的結構:
提示:請使用花括號來包圍宣告。
值的不同寫法和單位
除了英文單詞 red,我們還可以使用十六進製制的顏色值 #ff0000:
p 為了節約位元組,我們可以使用 css 的縮寫形式:
p 我們還可以通過兩種方法使用 rgb 值:
p p請注意,當使用 rgb 百分比時,即使當值為 0 時也要寫百分比符號。但是在其他的情況下就不需要這麼做了。比如說,當尺寸為 0 畫素時,0 之後不需要使用 px 單位,因為 0 就是 0,無論單位是什麼。
記得寫引號
提示:如果值為若干單詞,則要給值加引號:
p 多重宣告:
提示:如果要定義不止乙個宣告,則需要用分號將每個宣告分開。下面的例子展示出如何定義乙個紅色文字的居中段落。
最後一條規則是不需要加分號的,因為分號在英語中是乙個分隔符號,不是結束符號。然而,大多數有經驗的設計師會在每條宣告的末尾都加上分號,這麼做的好處是,當你從現有的規則中增減宣告時,會盡可能地減少出錯的可能性。就像這樣:
p你應該在每行只描述乙個屬性,這樣可以增強樣式定義的可讀性,就像這樣:
p 空格和大小寫
大多數樣式表包含不止一條規則,而大多數規則包含不止乙個宣告。多重宣告和空格的使用使得樣式表更容易被編輯:
body
是否包含空格不會影響 css 在瀏覽器的工作效果,同樣,與 xhtml 不同,css 對大小寫不敏感。不過存在乙個例外:如果涉及到與 html 文件一起工作的話,class 和 id 名稱對大小寫是敏感的。
css 高階語法
選擇器的分組
你可以對選擇器進行分組,這樣,被分組的選擇器就可以分享相同的宣告。用逗號將需要分組的選擇器分開。在下面的例子中,我們對所有的標題元素進行了分組。所有的標題元素都是綠色的。
h1,h2,h3,h4,h5,h6
繼承及其問題
根據 css,子元素從父元素繼承屬性。但是它並不總是按此方式工作。看看下面這條規則:
body
根據上面這條規則,站點的 body 元素將使用 verdana 字型(假如訪問者的系統中存在該字型的話)。
通過 css 繼承,子元素將繼承最高端元素(在本例中是 body)所擁有的屬性(這些子元素諸如 p, td, ul, ol, ul, li, dl, dt,和 dd)。不需要另外的規則,所有 body 的子元素都應該顯示 verdana 字型,子元素的子元素也一樣。並且在大部分的現代瀏覽器中,也確實是這樣的。
但是在那個瀏覽器大戰的血腥年代裡,這種情況就未必會發生,那時候對標準的支援並不是企業的優先選擇。比方說,netscape 4 就不支援繼承,它不僅忽略繼承,而且也忽略應用於 body 元素的規則。ie/windows 直到 ie6 還存在相關的問題,在**內的字型樣式會被忽略。
我們又該如何是好呢?
友善地對待netscape 4
幸運地是,你可以通過使用我們稱為 "be kind to netscape 4" 的冗餘法則來處理舊式瀏覽器無法理解繼承的問題。
body
p, td, ul, ol, li, dl, dt, dd
4.0 瀏覽器無法理解繼承,不過他們可以理解組選擇器。這麼做雖然會浪費一些使用者的頻寬,但是如果需要對 netscape 4 使用者進行支援,就不得不這麼做。
繼承是乙個詛咒嗎?
如果你不希望 "verdana, sans-serif" 字型被所有的子元素繼承,又該怎麼做呢?比方說,你希望段落的字型是 times。沒問題。
建立乙個針對 p 的特殊規則,這樣它就會擺脫父元素的規則:
body
td, ul, ol, ul, li, dl, dt, dd
p css 派生選擇器
派生選擇器
通過依據元素在其位置的上下文關係來定義樣式,你可以使標記更加簡潔。
在 css1 中,通過這種方式來應用規則的選擇器被稱為上下文選擇器 (contextual selectors),這是由於它們依賴於上下文關係來應用或者避免某項規則。在 css2 中,它們稱為派生選擇器,但是無論你如何稱呼它們,它們的作用都是相同的。
派生選擇器允許你根據文件的上下文關係來確定某個標籤的樣式。通過合理地使用派生選擇器,我們可以使 html **變得更加整潔。
比方說,你希望列表中的 strong 元素變為斜體字,而不是通常的粗體字,可以這樣定義乙個派生選擇器:
li strong
請注意標記為 的藍色**的上下文關係:
我是粗體字,不是斜體字,因為我不在列表當中,所以這個規則對我不起作用
我是斜體字。這是因為 strong 元素位於 li 元素內。
我是正常的字型。
在上面的例子中,只有 li 元素中的 strong 元素的樣式為斜體字,無需為 strong 元素定義特別的 class 或 id,**更加簡潔。
再看看下面的 css 規則:
strong
h2 h2 strong
下面是它施加影響的 html:
the strongly emphasized word in this paragraph isred.
相關內容
如果您需要更深入地學習關於派生選擇器的知識,請閱讀 w3school 的高階教程中的以下內容:
css 後代選擇器
css 子元素選擇器
css 相鄰兄弟選擇器
id 選擇器
id 選擇器可以為標有特定 id 的 html 元素指定特定的樣式。
id 選擇器以 "#" 來定義。
下面的兩個 id 選擇器,第乙個可以定義元素的顏色為紅色,第二個定義元素的顏色為綠色:
#red
#green
下面的 html **中,id 屬性為 red 的 p 元素顯示為紅色,而 id 屬性為 green 的 p 元素顯示為綠色。
這個段落是紅色。
這個段落是綠色。
注意:id 屬性只能在每個 html 文件**現一次。想知道原因嗎,請參閱 xhtml:**重構。
id 選擇器和派生選擇器
在現代布局中,id 選擇器常常用於建立派生選擇器。
#sidebar p
上面的樣式只會應用於出現在 id 是 sidebar 的元素內的段落。這個元素很可能是 div 或者是**單元,儘管它也可能是乙個**或者其他塊級元素。它甚至可以是乙個內聯元素,比如 或者 ,不過這樣的用法是非法的,因為不可以在內聯元素 中嵌入 (如果你忘記了原因,請參閱 xhtml:
**重構)。
乙個選擇器,多種用法
即使被標註為 sidebar 的元素只能在文件**現一次,這個 id 選擇器作為派生選擇器也可以被使用很多次:
#sidebar p
#sidebar h2 {
font-size: 1em;
font-weight: normal;
font-style: italic;
margin: 0;
line-height: 1.5;
基礎教程測量
施工測量的基本工作 一 測設已知水平距離 測設已知水平距離,是根據已知直線起點和直線方向,已知水平距離,標定出線段的另一端點。根據精度要求不同,測設方法有一般方法和精密方法。一 一般方法 當精度要求不高時,可用普通鋼捲尺測設。如圖9 1所示,已知地面上a點及ac方向線,沿ac方向測設已知水平距離為d...
播音主持基礎教程
第一章普通話語音知識 一 理論基礎 普通話是我們國家通用語言,青少年朋友們能用準確 清晰 規範的普通話表達與交流,那可是非常自豪的事情呢!隨著中國的強盛和國際地位的提高,現在好多外國人都在學習漢語普通話!如果套用廣告語形容普通話,就是 普通話,語言中的戰鬥機!普通話是 以北京語音為標準音,以北方話為...
播音主持基礎教程
第一章普通話語音知識 一 理論基礎 普通話是我們國家通用語言,青少年朋友們能用準確 清晰 規範的普通話表達與交流,那可是非常自豪的事情呢!隨著中國的強盛和國際地位的提高,現在好多外國人都在學習漢 語普通話!如果套用廣告語形容普通話,就是 普通話,語言中的戰鬥機!普通話是 以北京語音為標準音,以北方話...