CSS從零開始 1 CSS基礎語法

2022-03-09 06:02:42 字數 4425 閱讀 9468

1、css語法

css規則有兩個主要部分構成:選擇器,以及一條或多條說明。

例如:selector

注:選擇器通常是你需要改變樣式的html元素。

每條宣告有乙個屬性和乙個值組成。

屬性(property)是你希望設定的樣式屬性(style attribute)。每個屬性都有乙個值,屬性與值之間通過冒號(:)隔開。

例:h1

2、值的不同寫法和單位

除了英文單詞red,我們還可以使用十六進製制的顏色值#ff0000;

例:p為了節約位元組,我們可以使用css的縮寫

例:p還可以通過兩種方法使用rgb值(這種方法很少用,只需要了解就行)

例:pp注:使用rgb,0也需要百分號0%

3、值有單詞時,記得加引號「」

例:p4、定義多重宣告,需要用分號把它隔開,即屬性與屬性之間通過分號(;)隔開。

例:p5、選擇器的分組

你可以對選擇器進行分組,這樣,被分組的選擇器就可以分享相同的宣告。用逗號將需啊喲分組的選擇區分開、

例:h1,h2,h3,h4,h5

對所有的標題分了組,所有標題的屬性顏色為綠色。

6、繼承及問題

根據 css,子元素從父元素繼承屬性。但是它並不總是按此方式工作。看看下面這條規則:

body

根據上面這條規則,站點的 body 元素將使用 verdana 字型(假如訪問者的系統中存在該字型的話)。

通過 css 繼承,子元素將繼承最高端元素(在本例中是 body)所擁有的屬性(這些子元素諸如 p, td, ul, ol, ul, li, dl, dt,和 dd)。不需要另外的規則,所有 body 的子元素都應該顯示 verdana 字型,子元素的子元素也一樣。並且在大部分的現代瀏覽器中,也確實是這樣的。

但是在那個瀏覽器大戰的血腥年代裡,這種情況就未必會發生,那時候對標準的支援並不是企業的優先選擇。比方說,netscape 4 就不支援繼承,它不僅忽略繼承,而且也忽略應用於 body 元素的規則。ie/windows 直到 ie6 還存在相關的問題,在**內的字型樣式會被忽略。我們又該如何是好呢?

友善的對待netscape4

幸運地是,你可以通過使用我們稱為 "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

7、派生選擇器

通過依據元素在起位置的上下文關係來定義樣式,你可以是標記更加簡潔。

在css1中,通過這種方式來應用規則的選擇區被稱為上下文選擇器,這是由於它們依賴於上下文關係來應用或者避免某項規則,在css2中,它們被稱為派生選擇器,但是無論你如何稱呼它們,但作用都是相同的。

例:li strong

在上面的例子中,只有 li 元素中的 strong 元素的樣式為斜體字,無需為 strong 元素定義特別的 class 或 id,**更加簡潔。

8、id選擇器

id選擇器可以為特定id的html元素指定特定的樣式。

id選擇器以「#」來定義。

下馬兩個id選擇器,第乙個可以定義元素的顏色為紅色,第二個定義元素的顏色為綠色:

#red

#green

下面html**中,id屬性為red的p元素顯示為紅色,而id屬性為green的p元素顯示為綠色。

這段落是紅色

這段落是綠色

9、id選擇器和派生選擇器

#sidebar p

上面的樣式只會應用於出現在 id 是 sidebar 的元素內的段落。這個元素很可能是 div 或者是**單元,儘管它也可能是乙個**或者其他塊級元素。它甚至可以是乙個內聯元素,比如 或者 ,不過這樣的用法是非法的,因為不可以在內聯元素 中嵌入

乙個選擇器多種用法,這個id選擇器可以被多次使用:

#sidebar p

#sidebar h2

單獨選擇器

id選擇完全及時不被用來建立派生選擇器,它也可以獨立的發揮作用

例:#sidebar

根據這條規則,id 為 sidebar 的元素將擁有乙個畫素寬的黑色點狀邊框,同時其周圍會有 10 個畫素寬的內邊距(padding,內部空白)。老版本的 windows/ie 瀏覽器可能會忽略這條規則,除非你特別地定義這個選擇器所屬的元素:

例:div#sidebar

10、css類選擇器

在css中,類選擇器以乙個點號(.)顯示:

.center

在上面的例子中,所有擁有center類的html元素均為居中。

下面html**中,h1和p元素都有center類。這意味著兩者都要遵守「.center」選擇器中的規則。

this paragraph will also be center-aligned.

注意:類名的第乙個字元不能使用數字!它無法在 mozilla 或 firefox 中起作用。

和 id 一樣,class 也可被用作派生選擇器

.fancy td

在上面這個例子中,類名為 fancy 的更大的元素內部的**單元都會以灰色背景顯示橙色文字。(名為 fancy 的更大的元素可能是乙個**或者乙個 div)

元素也可以基於它們的類二被選擇:

td.fancy

在上面的例子中,類名為 fancy 的**單元將是帶有灰色背景的橙色。

你可以將類 fancy 分配給任何乙個**元素任意多的次數。那些以 fancy 標註的單元格都會是帶有灰色背景的橙色。那些沒有被分配名為 fancy 的類的單元格不會受這條規則的影響。還有一點值得注意,class 為 fancy 的段落也不會是帶有灰色背景的橙色,當然,任何其他被標註為 fancy 的元素也不會受這條規則的影響。這都是由於我們書寫這條規則的方式,這個效果被限制於被標註為 fancy 的**單元(即使用 td 元素來選擇 fancy 類)。

11、css屬性選擇器

對帶有指定屬性的html元素設定樣式。

可以為擁有指定屬性的html元素設定樣式,而不僅限於class和id屬性。

注釋:只有在規定了!doctype時,ie7和ie8才支援屬性選擇器,在ie6及更低版本中,不支援屬性選擇。

下面的例子為帶有 title 屬性的所有元素設定樣式:

[title]

下面的例子為 title="w3school" 的所有元素設定樣式:

[title=w3school]

下面的例子為包含指定值的 title 屬性的所有元素設定樣式。適用於由空格分隔的屬性值:

[title~=hello]

下面的例子為帶有包含指定值的 lang 屬性的所有元素設定樣式。適用於由連字元分隔的屬性值:

[lang|=en]

設定表單的樣式

屬性選擇器在為不帶有 class 或 id 的表單設定樣式時特別有用:

input[type="text"]

input[type="button"]

p body

不要在屬性值與單位之間留有空格。假如你使用 「margin-left: 20 px」 而不是 「margin-left: 20px」 ,它僅在 ie 6 中有效,但是在 mozilla/firefox 或 netscape 中卻無法正常工作

內部樣式

當單個文件需要特殊的樣式時,就應該使用內部樣式表。你可以使用 標籤在文件頭部定義內部樣式表,就像這樣:

內聯樣式

由於要將表現和內容混雜在一起,內聯樣式會損失掉樣式表的許多優勢。請慎用這種方法,例如當樣式僅需要在乙個元素上應用一次時。

this is a paragraph

多重樣式

如果某些屬性在不同的樣式表中被同樣的選擇器定義,那麼屬性值將從更具體的樣式表中被繼承過來。

例如,外部樣式表擁有針對 h3 選擇器的三個屬性:

h3 而內部樣式表擁有針對 h3 選擇器的兩個屬性:

h3 color:red; text-align:right; font-size:20pt;

即顏色屬性將被繼承於外部樣式表,而文字排列(text-alignment)和字型尺寸(font-size)會被內部樣式表中的規則取代。

css設計指南學習1 css基礎

從前做網頁的時候就學過css。當時應該還是css2,現在正是html5和css3大行其道,去亞馬遜買了一本css設計指南,重新系統學習下。2,在html頭部用style標籤嵌入 3,鏈結。不直觀,但是有助於文件整潔 選擇符 上下文選擇符 p em 表示p為祖先元素的所有em 不一定非要是父 子選擇符...

css設計指南學習1 css基礎

從前做網頁的時候就學過css。當時應該還是css2,現在正是html5和css3大行其道,去亞馬遜買了一本css設計指南,重新系統學習下。2,在html頭部用style標籤嵌入 3,鏈結。不直觀,但是有助於文件整潔 選擇符 上下文選擇符 p em 表示p為祖先元素的所有em 不一定非要是父 子選擇符...

從零開始的wed前端學習 css基礎

繼承性 層疊性 可被覆蓋 1.後來者居上原則 後來的樣式覆蓋先前的樣式,越往後越說的算 2.行內樣式優先順序大於頭部樣式與外部樣式 3.頭部樣式優先順序大於等於外部樣式 因為後來者居上原則頭部樣式優先順序大於外部樣式 4.越精確越說的算,id選擇器 class類選擇器 標籤選擇器 5.importa...