CSS 介紹(一)

CSS 概述

  • CSS 指層疊樣式(Cascading Style Sheets)
  • 樣式定義如何顯示 HTML 元素
  • 樣式通常存儲(chǔ)在樣式表
  • 把樣式添加到 HTML 4.0 中,是為了解決內(nèi)容與表現(xiàn)分離的問(wèn)題
  • 外部樣式表可以極大的提高工作效率
  • 外部樣式表通常存儲(chǔ)在 CSS 文件中
  • 多個(gè)樣式定義可層疊為一

樣式解決了一個(gè)普遍的問(wèn)題

HTML 標(biāo)簽原本被設(shè)計(jì)為用于定義文檔內(nèi)容。通過(guò)使用 <h1>、</p>、<table>等標(biāo)簽,HTML 的初衷是表達(dá) "這是標(biāo)題"、"這是表格"、"這是表格" 之類(lèi)的信息。同時(shí)文檔布局由瀏覽器來(lái)完成,而不使用任何的格式化標(biāo)簽。

由于兩種主要的瀏覽器(Netscape 和 Internet Explorer)不斷地將新的 HTML 標(biāo)簽和屬性(比如字體標(biāo)簽和顏色屬性)添加到 HTML 規(guī)范中,創(chuàng)建文檔內(nèi)容獨(dú)立于文檔表現(xiàn)層的站點(diǎn)變得越來(lái)越困難。

為了解決這個(gè)問(wèn)題,萬(wàn)維網(wǎng)聯(lián)盟(W3C),這個(gè)非營(yíng)利的標(biāo)準(zhǔn)化聯(lián)盟,肩負(fù)起了 HTML 標(biāo)準(zhǔn)化的使命,并在 HTML 4.0 之外創(chuàng)造出了樣式(Style)。

所有的主流瀏覽器均支持層疊樣式表。

樣式表極大地提高工作效率

樣式表定義如何顯示 HTML元素,就像 HTML 3.2的字體標(biāo)簽和顏色屬性所起的作用那樣。樣式通常保存在外部的 .css文件中。通過(guò)僅僅編輯一個(gè)簡(jiǎn)單的CSS 文檔,外部樣式表使你有能力改變站點(diǎn)中所有頁(yè)面的布局和外觀。

由于允許同時(shí)控制多重頁(yè)面的樣式和布局,CSS 可以稱(chēng)得上 WEB 設(shè)計(jì)領(lǐng)域的一個(gè)突破。作為網(wǎng)站開(kāi)發(fā)者,你能夠?yàn)槊總€(gè) HTML 元素定義樣式,并將之應(yīng)用于你希望的任意多的頁(yè)面中。如需進(jìn)行全局的更新,只需簡(jiǎn)單地改變樣式,然后網(wǎng)站中的所有元素均會(huì)自動(dòng)地更新。

多重樣式將層疊為一個(gè)

樣式表允許以多種方式規(guī)定樣式信息。樣式可以規(guī)定在單個(gè)的 HTML 元素中,在 HTML 頁(yè)的頭元素中,或在一個(gè)外部的 CSS 文件中。甚至可以在同一個(gè) HTML 文檔內(nèi)部引用多個(gè)外部樣式表。

層疊次序

當(dāng)同一個(gè) HTML 元素被不止一個(gè)樣式定義時(shí),會(huì)使用哪個(gè)樣式呢?

一般而言,所有的樣式會(huì)根據(jù)下面的規(guī)則層疊于一個(gè)新的虛擬樣式表中,其中數(shù)字 4 擁有最高的優(yōu)先權(quán)。

  • 1.瀏覽器缺省設(shè)置
  • 2.外部樣式表
  • 3.內(nèi)部樣式表(位于 <head> 標(biāo)簽內(nèi)部)
  • 4.內(nèi)聯(lián)樣式(在 HTML 元素內(nèi)部)
    因此,內(nèi)聯(lián)樣式(在 HTML 元素內(nèi)部)擁有最高的優(yōu)先權(quán),這意味著它將優(yōu)先于以下的樣式聲明:<head> 標(biāo)簽中的樣式聲明,外部樣式表中的樣式聲明,或者瀏覽器中的樣式聲明(缺省值)。
簡(jiǎn)介介紹完了,接下來(lái)進(jìn)入正題了。先介紹樣式選擇器。

選擇器

包含如下幾種:

  • 類(lèi)選擇器
  • ID選擇器
  • 通配符選擇器
  • 鏈接偽類(lèi)選擇器
  • 結(jié)構(gòu)偽類(lèi)選擇器(css3 才有 )
  • 交集選擇器
  • 后代選擇器
  • 子元素選擇器
  • 屬性選擇器
  • 偽元素選擇器
    下面通過(guò)代碼來(lái)介紹:
/*類(lèi)選擇器 是可以重復(fù)多次使用的,類(lèi)似于姓名*/
.mingren { /*聲明類(lèi)樣式*/
    color: orange;
}
        
/*ID選擇器 只允許使用一次,類(lèi)似于身份證是惟一的*/
#big { /*聲明類(lèi)樣式*/
    color: orange;
}

/*通配符選擇器 控制所有的標(biāo)簽,實(shí)際開(kāi)發(fā)很少很少用到,一般測(cè)試使用*/
* {
    color: red;
}

/*鏈接偽類(lèi)選擇器*/
 a:link { /*未訪(fǎng)問(wèn)的鏈接 用得少*/
    font-size: 16px;
    color: gray;
    font-weight: 700;
}

/*已訪(fǎng)問(wèn)的鏈接:只要點(diǎn)擊過(guò)鏈接一次的狀態(tài) 用得少*/ 
a:visited { 
    font-size: 16px;
    color: orange;
    font-weight: 700;
}  

/*鼠標(biāo)移動(dòng)到鏈接上 用得多*/ 
 a:hover { 
    font-size: 16px;
    color: red;
    font-weight: 700;
} 

/*鼠標(biāo)在鏈接上長(zhǎng)按 用得少***/    
 a:active { 
      color: green;
}    
   
/*結(jié)構(gòu)偽類(lèi)選擇器*/
li:first-child { /*第一個(gè)孩子*/
   color: red;
}
li:last-child { /*最后一個(gè)孩子*/
   color: green;
}

li:nth-child(3) { /*選擇第三個(gè)孩子  nth-child(n) n代表第幾個(gè)孩子*/
    color: skyblue
}

li:nth-child(even) { /*選擇所有的偶數(shù)孩子*/
   color: green;
}

li:nth-child(odd) { /*選擇所有的奇數(shù)孩子*/
   color: blue;
 }

li:nth-child(2n) { /*選擇所有的2n孩子*/
   color: black;
}

li:nth-child(2n+1) { /*選擇所有的2n+1孩子*/
    color: black;
}

li:nth-last-child(even) { /*從最后一個(gè)孩子開(kāi)始數(shù)*/
   color: pink;
}

:target { /*目標(biāo)偽裝選擇器:可用于選擇當(dāng)前活動(dòng)的元素*/
    color: red;
}

/*交集選擇器 標(biāo)簽.類(lèi)選擇器 ,即..又*/
div.singer {
    font-weight: 700;
    font-size: 40px;
}

div ul li { /*后代選擇器,表示所有的后代li標(biāo)簽,要求一定是嵌套關(guān)系*/
    color: gray;
}

.nav li {
    color: green;
}

.nav > li { /*子元素選擇器 親兒子標(biāo)簽*/
    color: red;
}

 /*屬性選擇器:選取標(biāo)簽帶有某些特殊屬性的選擇器 我們成為屬性選擇器*/
a[title] {
   color: blue;
}

input[type=text] {  /*表示選擇input 屬性 input="text" 的標(biāo)簽*/
   color: pink;
}

div[class^=font] { /* ^=表示 class 以font開(kāi)始的div 標(biāo)簽*/
   color: pink;
}

div[class$=footer] { /* $=表示class 以footer結(jié)尾的div標(biāo)簽*/
    color: green;
}

div[class*=tab] { /* *=表示class 包含tao的div標(biāo)簽*/
    color: gray;
}

/* 偽元素選擇器 比如 ::first-letter */
p::first-letter { /* 偽元素選擇器  ::first-letter 選擇第一個(gè)字*/
     font-size: 30px;
     color: orange;
}

p::first-line { /* 偽元素選擇器  ::first-line 選擇第一行*/
      font-size: 20px;
      color: gray;
}

p::selection { /* 當(dāng)我們選擇P 標(biāo)簽的樣式*/
      color: green;
}

div::before { /* before 和 after 在盒子div 的內(nèi)部前面插入或者后面插入*/
     color: green;
     content: "我哦我";
}

div::after {
     content: "我哦我";
}     

PS:歡迎留言補(bǔ)充,筆者會(huì)繼續(xù)跟進(jìn)CSS 介紹(二)文章。

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,200評(píng)論 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,886評(píng)論 1 45
  • HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁(yè)的形式展示給用戶(hù)的,因此網(wǎng)頁(yè)是網(wǎng)絡(luò)信息傳遞的載體。網(wǎng)頁(yè)文件是用...
    阿啊阿吖丁閱讀 4,983評(píng)論 0 0
  • CSS 指層疊樣式表(Cascading Style Sheets),是一種用來(lái)為結(jié)構(gòu)化文檔(如 HTML 文檔或...
    神齊閱讀 2,235評(píng)論 0 14
  • css簡(jiǎn)介: css,指的是Cascading Style Sheet(層疊樣式表),是用來(lái)控制網(wǎng)頁(yè)外觀的一門(mén)技術(shù)...
    IT的咸魚(yú)閱讀 254評(píng)論 0 0

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