CSS基礎

CSS (Cascading Style Sheets)

簡介:

多重樣式將層疊為一個
樣式表允許以多種方式規(guī)定樣式信息堂鲤。樣式可以規(guī)定在單個的 HTML 元素中亿傅,在 HTML 頁的頭元素中,或在一個外部的 CSS 文件中瘟栖。甚至可以在同一個 HTML 文檔內部引用多個外部樣式表葵擎。

層疊次序

當同一個 HTML 元素被不止一個樣式定義時,會使用哪個樣式呢半哟?

一般而言酬滤,所有的樣式會根據下面的規(guī)則層疊于一個新的虛擬樣式表中

1、 瀏覽器缺省設置

2镜沽、 外部樣式表

3敏晤、 內部樣式表(位于 <head> 標簽內部)

4、 內聯(lián)樣式(在 HTML 元素內部)

因此缅茉,內聯(lián)樣式(在 HTML 元素內部)擁有最高的優(yōu)先權,這意味著它將優(yōu)先于以下的樣式聲明:<head> 標簽中的樣式聲明男摧,外部樣式表中的樣式聲明蔬墩,或者瀏覽器中的樣式聲明(缺省值)译打。


CSS語法

CSS 規(guī)則由兩個主要的部分構成:選擇器,以及一條或多條聲明拇颅。

屬性(property)是您希望設置的樣式屬性(style attribute)奏司。每個屬性有一個值。屬性和值被冒號分開樟插。

selector {property: value}

示例:

p { color: #ff0000; }
p { color: #f00; }
p { color: rgb(255,0,0); }
p { color: rgb(100%,0%,0%); }

注意事項

1韵洋、 記得寫引號

如果值為若干單詞,則要給值加引號:

p {font-family:"sans serif";}

2黄锤、多重聲明

你應該在每行只描述一個屬性搪缨,這樣可以增強樣式定義的可讀性,就像這樣:

p {

text-align: center;

color: black;

font-family: arial;

}

3鸵熟、空格和大小寫

大多數樣式表包含不止一條規(guī)則副编,而大多數規(guī)則包含不止一個聲明。多重聲明和空格的使用使得樣式表更容易被編輯:

body {
  color: #000;
  
  background: #fff;
  
  margin: 0;
  
  padding: 0;
  
  font-family: Georgia, Palatino, serif;
  
  }

CSS 對大小寫不敏感流强。不過存在一個例外:如果涉及到與 HTML 文檔一起工作的話痹届,class 和 id 名稱對大小寫是敏感的。

CSS高級語法

1打月、選擇器分組
你可以對選擇器進行分組队腐,這樣,被分組的選擇器就可以分享相同的聲明奏篙。用逗號將需要分組的選擇器分開香到。

在下面的例子中,我們對所有的標題元素進行了分組报破。所有的標題元素都是綠色的悠就。

h1,h2,h3,h4,h5,h6 {
  color: green;
  }

2、繼承

根據 CSS充易,子元素從父元素繼承屬性梗脾。但是它并不總是按此方式工作。
如果你不希望 "Verdana, sans-serif" 字體被所有的子元素繼承盹靴,又該怎么做呢炸茧?比方說,你希望段落的字體是 Times稿静。沒問題梭冠。創(chuàng)建一個針對 p 的特殊規(guī)則,這樣它就會擺脫父元素的規(guī)則:


body  {
     font-family: Verdana, sans-serif;
     }

p  {
     font-family: Times, "Times New Roman", serif;
     }
     

CSS 派生選擇器

派生選擇器允許你根據文檔的上下文關系來確定某個標簽的樣式改备。通過合理地使用派生選擇器控漠,我們可以使 HTML 代碼變得更加整潔。

比方說,你希望列表中的 strong 元素變?yōu)樾斌w字盐捷,而不是通常的粗體字偶翅,可以這樣定義一個派生選擇器:

li strong {
    font-style: italic;
    font-weight: normal;
 }

請注意標記為 <strong> 的藍色代碼的上下文關系:

<p><strong>我是粗體字,不是斜體字碉渡,因為我不在列表當中聚谁,所以這個規(guī)則對我不起作用</strong></p>
<ol>
<li><strong>我是斜體字。這是因為 strong 元素位于 li 元素內滞诺。</strong></li>
<li>我是正常的字體形导。</li>
</ol>

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


CSS id選擇器

id 選擇器可以為標有特定 id 的 HTML 元素指定特定的樣式序愚。
id 選擇器以 "#" 來定義憔披。

1、 下面的兩個 id 選擇器爸吮,第一個可以定義元素的顏色為紅色芬膝,第二個定義元素的顏色為綠色:

#red {color:red;}
#green {color:green;}

下面的 HTML 代碼中,id 屬性為 red 的 p 元素顯示為紅色形娇,而 id 屬性為 green 的 p 元素顯示為綠色锰霜。

<p id="red">這個段落是紅色。</p>
<p id="green">這個段落是綠色桐早。</p>

2癣缅、id選擇器和派生選擇器

#sidebar p {
    font-style: italic;
    text-align: right;
    margin-top: 0.5em;
    }

#sidebar h2 {
    font-size: 1em;
    font-weight: normal;
    font-style: italic;
    margin: 0;
    line-height: 1.5;
    text-align: right;
    }
    

在這里,與頁面中的其他 p 元素明顯不同的是哄酝,sidebar 內的 p 元素得到了特殊的處理友存,同時,與頁面中其他所有 h2 元素明顯不同的是陶衅,sidebar 中的 h2 元素也得到了不同的特殊處理屡立。

3、單獨的選擇器

id 選擇器即使不被用來創(chuàng)建派生選擇器搀军,它也可以獨立發(fā)揮作用:

#sidebar {
    border: 1px dotted #000;
    padding: 10px;
    }
    

根據這條規(guī)則膨俐,id 為 sidebar 的元素將擁有一個像素寬的黑色點狀邊框,同時其周圍會有 10 個像素寬的內邊距(padding罩句,內部空白)


CSS 類選擇器

1焚刺、在 CSS 中,類選擇器以一個點號顯示:

.center {text-align: center}

在上面的例子中门烂,所有擁有 center 類的 HTML 元素均為居中乳愉。
在下面的 HTML 代碼中,h1 和 p 元素都有 center 類。這意味著兩者都將遵守 ".center" 選擇器中的規(guī)則匾委。

<h1 class="center">
This heading will be center-aligned
</h1>

<p class="center">
This paragraph will also be center-aligned.
</p>

2拖叙、class 也可被用作派生選擇器:

.fancy td {
    color: #f60;
    background: #666;
    }

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

3、元素也可以基于它們的類而被選擇:

td.fancy {
    color: #f60;
    background: #666;
    }

在上面的例子中咖气,類名為 fancy 的表格單元將是帶有灰色背景的橙色挨措。

<td class="fancy">
你可以將類 fancy 分配給任何一個表格元素任意多的次數。那些以 fancy 標注的單元格都會是帶有灰色背景的橙色崩溪。那些沒有被分配名為 fancy 的類的單元格不會受這條規(guī)則的影響浅役。

CSS屬性選擇器

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

1伶唯、屬性選擇器

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

[title]
{
color:red;
}

2觉既、屬性和值選擇器

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

[title=W3School]
{
border:5px solid blue;
}

屬性和值選擇器 - 多個值

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

[title~=hello] { color:red; }

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

[lang|=en] { color:red; }

示例:




    <style>
    input[type="text"]
    {
      width:150px;
      display:block;
      margin-bottom:10px;
     background-color:yellow;
     font-family: Verdana, Arial;
    }

    input[type="button"]
    {
     width:120px;
     margin-left:35px;
     display:block;
     font-family: Verdana, Arial;
    }
    </style>


    <form name="input" action="" method="get">
    <input type="text" name="Name" value="Bill" size="20">
    <input type="text" name="Name" value="Gates" size="20">
    <input type="button" value="Example Button">

    </form>



選擇器 描述
[attribute] 用于選取帶有指定屬性的元素瞪讼。
[attribute=value] 用于選取帶有指定屬性和值的元素。
[attribute~=value] 用于選取屬性值中包含指定詞匯的元素粹断。
[attribute l=value] 用于選取帶有以指定值開頭的屬性值的元素符欠,該值必須是整個單詞。
[attribute^=value] 匹配屬性值以指定值開頭的每個元素瓶埋。
[attribute$=value] 匹配屬性值以指定值結尾的每個元素希柿。
[attribute*=value] 匹配屬性值中包含指定值的每個元素。

CSS形勢

外部樣式表:

<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>

內部樣式表:

<head>
<style type="text/css">
hr {color: sienna;}
p {margin-left: 20px;}
body {background-image: url("images/back40.gif");}
</style>
</head>

內聯(lián)樣式:

<p style="color: sienna; margin-left: 20px">
This is a paragraph
</p>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末养筒,一起剝皮案震驚了整個濱河市曾撤,隨后出現的幾起案子,更是在濱河造成了極大的恐慌晕粪,老刑警劉巖挤悉,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異兵多,居然都是意外死亡尖啡,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門剩膘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衅斩,“玉大人,你說我怎么就攤上這事怠褐∥钒穑” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長奠涌。 經常有香客問我宪巨,道長,這世上最難降的妖魔是什么溜畅? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任捏卓,我火速辦了婚禮,結果婚禮上慈格,老公的妹妹穿的比我還像新娘怠晴。我一直安慰自己,他們只是感情好浴捆,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布蒜田。 她就那樣靜靜地躺著,像睡著了一般选泻。 火紅的嫁衣襯著肌膚如雪冲粤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天页眯,我揣著相機與錄音梯捕,去河邊找鬼。 笑死餐茵,一個胖子當著我的面吹牛科阎,可吹牛的內容都是我干的。 我是一名探鬼主播忿族,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼锣笨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了道批?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤隆豹,失蹤者是張志新(化名)和其女友劉穎椭岩,沒想到半個月后璃赡,有當地人在樹林里發(fā)現了一具尸體判哥,經...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡碉考,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年塌计,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侯谁。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡章钾,死狀恐怖,靈堂內的尸體忽然破棺而出贱傀,到底是詐尸還是另有隱情,我是刑警寧澤伊脓,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布府寒,位于F島的核電站,受9級特大地震影響丽旅,放射性物質發(fā)生泄漏椰棘。R本人自食惡果不足惜榄笙,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望茅撞。 院中可真熱鬧,春花似錦巨朦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棚蓄。三九已至,卻和暖如春梭依,著一層夾襖步出監(jiān)牢的瞬間稍算,已是汗流浹背役拴。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工糊探, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留河闰,地道東北人科平。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓姜性,卻偏偏與公主長得像,于是被迫代替她去往敵國和親污抬。 傳聞我的和親對象是個殘疾皇子汞贸,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內容

  • CSS基礎 本文包括CSS基礎知識選擇器(重要!C偶荨!)繼承多柑、特殊性、層疊竣灌、重要性CSS格式化排版單位和值盒模型浮動...
    廖少少閱讀 3,088評論 0 40
  • 1.認識CSS樣式CSS全稱為“層疊樣式表 (Cascading Style Sheets)”,它主要是用于定義H...
    靜默丶閱讀 5,710評論 30 95
  • 一.CSS描述 CSS全稱為“層疊樣式表(Cascading Style Sheets)”初嘹,它主要是用于定義HTM...
    snowy_sunny閱讀 1,076評論 0 4
  • 第6章 開始學習CSS,為網頁添加樣式 1屯烦、認識CSS樣式CSS全稱為“層疊樣式表 (Cascading Styl...
    夏沫xx閱讀 1,060評論 1 11
  • 最重要的不是你在哪里,而是你和誰在一起驻龟。和喜歡的人在一起温眉,自然看見的風景都是歡喜翁狐。任何與你有關的故事我都不屑一顧类溢,...
    一半師兄閱讀 1,088評論 0 5