慕課網(wǎng)筆記3 : css 選擇器 繼承

慕課網(wǎng): HTML+CSS基礎(chǔ)課程

  • CSS全稱為“層疊樣式表 (Cascading Style Sheets)”,它主要是用于定義HTML內(nèi)容在瀏覽器內(nèi)的顯示樣式,如文字大小、顏色、字體加粗等。
  • 使用CSS樣式的一個(gè)好處是通過定義某個(gè)樣式,可以讓不同網(wǎng)頁位置的文字有著統(tǒng)一的字體、字號(hào)或者顏色等

  • css 樣式由選擇符和聲明組成,而聲明又由屬性和值組成,如下圖所示:
屏幕快照 2017-01-17 下午11.15.07.png

選擇符:又稱選擇器,指明網(wǎng)頁中要應(yīng)用樣式規(guī)則的元素,如本例中是網(wǎng)頁中所有的段(p)的文字將變成藍(lán)色,而其他的元素(如ol)不會(huì)受到影響。
聲明:在英文大括號(hào)“{}”中的的就是聲明,屬性和值之間用英文冒號(hào)“:”分隔。當(dāng)有多條聲明時(shí),中間可以英文分號(hào)“;”分隔

  • 從CSS 樣式代碼插入的形式來看基本可以分為以下3種:內(nèi)聯(lián)式、嵌入式和外部式三種。
    1. **內(nèi)聯(lián)式 **: 把css代碼直接寫在現(xiàn)有的HTML標(biāo)簽中
<p style="color:red">這里文字是紅色。</p>
  1. 嵌入式: 嵌入式css樣式必須寫在<style></style>之間,并且一般情況下嵌入式css樣式寫在<head></head>之間.
<style type="text/css">
span{
color:red;
}
</style>
  1. 外部式 : 寫在單獨(dú)的文件中 .css為擴(kuò)展名
    在<head>內(nèi)(不是在<style>標(biāo)簽內(nèi))使用<link>標(biāo)簽將css樣式文件鏈接到HTML文件內(nèi),
<link href="main.css" rel="stylesheet" type="text/css" />

注意:

  1. css樣式文件名稱以有意義的英文字母命名,如 main.css。
  1. rel="stylesheet" type="text/css" 是固定寫法不可修改。
  2. <link>標(biāo)簽位置一般寫在<head>標(biāo)簽之內(nèi)。

<pre>
優(yōu)先級(jí) : 當(dāng)遇到同名樣式時(shí)
1. link鏈接的css文件權(quán)值相同 是下面的覆蓋上面的. <em>ps: 權(quán)值在下面繼承中解釋</em>
2. 離html元素近的 樣式覆蓋遠(yuǎn)的
</pre>


一、 css選擇器

每一條css樣式聲明(定義)由兩部分組成

 div {
   background-color: red;
   font-size: 16px;
}
選擇器 {
      樣式;
 }
/*------------------------------------------------------------------*/
> 1. 在{}之前的部分就是“選擇器”
> 2. “選擇器”指明了{(lán)}中的“樣式”的作用對(duì)象,也就是“樣式”作用于網(wǎng)頁中的哪些元素。
> 3. 標(biāo)簽選擇器其實(shí)就是html代碼中的標(biāo)簽

  • <h5> 類選擇器</h5>
.class  {
          css樣式代碼;
}
  • <h5>ID選擇器</h5>
#stress{
       color:red;
}

類 和 ID 選擇器的區(qū)別

  • 相同點(diǎn):可以應(yīng)用于任何元素
  • 不同點(diǎn):
    1. 在一個(gè)HTML文檔中,ID選擇器只能使用一次,而且僅一次。而類選擇器可以使用多次。
    2. 可以使用類選擇器詞列表方法為一個(gè)元素同時(shí)設(shè)置多個(gè)樣式。我們可以為一個(gè)元素同時(shí)設(shè)多個(gè)樣式,但只可以用類選擇器的方法實(shí)現(xiàn),ID選擇器是不可以的(不能使用 ID 詞列表)。
      例 :
<span class="stress bigsize">  
// 類可以對(duì)同一個(gè)原素使用多個(gè)樣式
//ID不可以這樣使用
  • <h5> 子選擇器</h5>

    用于選擇指定標(biāo)簽元素的 第一代子元素

.food> li {
        border:1px solid red;
}
/*在類選擇器后面用">" 指向子選擇器  */
  • <h5>包含(后代)選擇器</h5>

用于選擇指定標(biāo)簽元素下的后輩元素

.first  span {
        color:red;
}

包含(后代)選擇器 與 子選擇器 的區(qū)別

  • 子選擇器(child selector)僅是指它的直接后代,或者你可以理解為作用于子元素的第一代后代。

  • 后代選擇器是作用于所有子后代元素。后代選擇器通過空格來進(jìn)行選擇,而子選擇器是通過“>”進(jìn)行選擇。

  • 總結(jié):>作用于元素的第一代后代,空格作用于元素的所有后代。

  • <h5>通用選擇器</h5>

通用選擇器是功能最強(qiáng)大的選擇器,它使用一個(gè)(*)號(hào)指定,它的作用是匹配html中所有標(biāo)簽元素

* {
    color:red;
}
/*代碼使用html中任意標(biāo)簽元素字體顏色全部設(shè)置為紅色*/
  • <h5>偽類選擇符</h5>

偽類選擇符: 它允許給html不存在的標(biāo)簽(標(biāo)簽的某種狀態(tài))設(shè)置樣式,比如說我們給html中一個(gè)標(biāo)簽元素的鼠標(biāo)滑過的狀態(tài)來設(shè)置字體顏色

   a: hover { 
        color:red;
}

關(guān)于偽選擇符:
關(guān)于偽類選擇符,到目前為止,可以兼容所有瀏鑒器的“偽類選擇符”就是< a> 標(biāo)簽上使用 :hover 了(其實(shí)偽類選擇符還有很多,尤其是 css3 中,但是因?yàn)椴荒芗嫒菟袨g覽器,本教程只是講了這一種最常用的)。其實(shí) :hover 可以放在任意的標(biāo)簽上,比如說 p:hover,但是它們的兼容性也是很不好的,所以現(xiàn)在比較常用的還是 a:hover 的組合。

  • <h5>分組選擇符</h5>

為html中多個(gè)標(biāo)簽元素設(shè)置同一個(gè)樣式

h1, h2, h3, span {
      color : red;
}
.first,
#second> span{
      color:green;
}

二、繼承

  • 權(quán)值:

瀏覽器是根據(jù)權(quán)值來判斷使用哪種css樣式的,那種權(quán)值高的就使用哪種css樣式

權(quán)值的規(guī)則:

  • 標(biāo)簽的權(quán)值為1,類選擇符的權(quán)值為10,ID選擇符的權(quán)值最高為100
  • 注意:還有一個(gè)權(quán)值比較特殊--繼承也有權(quán)值但很低,有的文獻(xiàn)提出它只有0.1,所以可以理解為繼承的權(quán)值最低。
p { 
  color:red;
} /*權(quán)值為1*/
p span{
  color:green;
} /*權(quán)值為1+1=2*/
.warning { 
  color:white;
} /*權(quán)值為10*/
p span.warning { 
  color:purple;
} /*權(quán)值為1+1+10=12*/
#footer .note p { 
  color:yellow;
} /*權(quán)值為100+10+1=111*/
  • 層疊:

層疊就是在html文件中對(duì)于同一個(gè)元素可以有多個(gè)css樣式存在,當(dāng)有相同權(quán)重的樣式存在時(shí),會(huì)根據(jù)這些css樣式的前后順序來決定,處于最后面的css樣式會(huì)被應(yīng)用 (后面的樣式覆蓋前面的)

p {color:red;}
p {color:green;}
<p class="first">三年級(jí)時(shí),我還是一個(gè)<span>膽小如鼠</span>的小女孩。</p>
/*最后將顯示字體顏色為綠色*/

當(dāng)?shù)絟tml文件中的樣式優(yōu)先級(jí)讓然為:

內(nèi)聯(lián)樣式表(標(biāo)簽內(nèi)部)> 嵌入樣式表(當(dāng)前文件中)> 外部樣式表(外部文件中)。

ps:!important優(yōu)先級(jí)樣式是個(gè)例外,權(quán)值高于用戶自己設(shè)置的樣式。

  • <big>!important;</big>

將當(dāng)前樣式設(shè)置為最高權(quán)值

p {
     color:red!important;
}
/*注意:!important要寫在分號(hào)的前面*/

注意:
!important要慎重使用, 能不用就不用。以避免使用過多,代碼不好控制。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容