App下載

CSS學(xué)習(xí)筆記之基礎(chǔ)與選擇器

猿友 2020-07-28 18:03:38 瀏覽數(shù) (3035)
反饋

這是一篇關(guān)于CSS基礎(chǔ)跟選擇器的筆記,畢竟自己的記性沒有筆記本好用,所以記錄一下,以后忘了也好有地方翻一下,復(fù)習(xí)重溫。

CSS介紹

我們可以使用HTML構(gòu)建穩(wěn)定的結(jié)構(gòu)基礎(chǔ),而頁面的風(fēng)格樣式控制則交給CSS來完成。網(wǎng)頁的樣式包括各種元素的顏色、大小、線形、間距等等,這對于設(shè)計或維護一個數(shù)據(jù)較多的網(wǎng)站來說,工作量是巨大的。好在可以使用CSS來控制這些樣式,這將大大提高網(wǎng)頁設(shè)計和維護的效率,并且使網(wǎng)頁的整體風(fēng)格很容易做到統(tǒng)一。

CSS概述

CSS是英文Cascading Style Sheet的縮寫,中文譯為層疊樣式表,也有人翻譯為級聯(lián)樣式表,簡稱樣式表。它是一種用來定義網(wǎng)頁外觀樣式的技術(shù),在網(wǎng)頁中引入CSS規(guī)則,可以快捷高效地對頁面進行布局設(shè)計,可以精確的控制HTML標(biāo)記對象的寬度、高度、位置、字體、背景等外觀效果。 CSS是一種標(biāo)識性語言,不僅可以有效的控制網(wǎng)頁的樣式,更重要的是實現(xiàn)了網(wǎng)頁內(nèi)容與樣式的分離,并允許將CSS規(guī)則單獨存放于一個文檔中, CSS文件的擴展名為“css”。

CSS3

CSS3標(biāo)準早在1995年就開始制訂, 2001年提上W3C研究議程,但是,10年來CSS3可以說是基本上沒有什么很大的變化,一直到2011年6月才發(fā)布了全新版本的CSS3,目前,許多瀏覽器都廣泛支持CSS3。 CSS3CSS技術(shù)的一個升級版本,CSS3語言CSS劃分為更小的模塊,在朝著模塊化的方向發(fā)展。以前的版本是一個比較龐大而且比較復(fù)雜模塊,所以,把它分解成為一個個小的簡單的模塊,同時也加入了更多新的模塊。在CSS3中有字體、顏色、布局、背景、定位、邊框、多列、動畫、用戶界面等等多個模塊。

CSS的基本用法

CSS的使用規(guī)則由兩部分組成:選擇器和一條或多條聲明。其基本基本語法如下:

        選擇器{
            屬性1: 值;
            屬性2: 值;
            …
            屬性n: 值;
        }

CSS基本用法

CSS屬性

CSS的屬性按照相關(guān)功能進行了分組,包含了字體、文本、背景、列表、動畫等多個分組,這些屬性的具體使用方法和示例將會在后續(xù)中提到。

在HTML文檔中使用CSS的方法

根據(jù)CSSHTML文檔中的使用方法和作用范圍不同,CSS樣式表的使用方法分為三大類:行內(nèi)樣式、內(nèi)部樣式表和外部樣式表,而外部樣式表又可分為鏈入外部樣式表和導(dǎo)入外部樣式表。本節(jié)我們從四個分類來認識在HTML中使用CSS的方法。

  • 行內(nèi)樣式

  • 內(nèi)部樣式表

  • 外部樣式表

  • 鏈入外部樣式表

  • 導(dǎo)入外部樣式表

行內(nèi)樣式

行內(nèi)樣式(inline style),也叫內(nèi)聯(lián)樣式,它是CSS四種使用方法中最為直接的一種,它的實現(xiàn)借用HTML元素的全局屬性style,把CSS代碼直接寫入其中即可。 嚴格意義上行內(nèi)樣式是一種不嚴謹?shù)氖褂梅绞?,它不需要選擇器,這種方式下CSS代碼和HTML代碼混合在一起,因此不推薦使用行內(nèi)樣式。行內(nèi)樣式的基本語法如下:

        <標(biāo)記 style="屬性:值; 屬性:值; …">

內(nèi)部樣式表

當(dāng)單個文檔需要特殊的樣式時,應(yīng)該使用內(nèi)部樣式表。內(nèi)部樣式表是將樣式放在頁面的head區(qū)里,這樣定義的樣式就應(yīng)用到本頁面中了,內(nèi)部樣式表使用style標(biāo)記進行聲明,是較為常用的一種使用方法。其基本語法如下:

    <head>
        <meta charset="utf-8" />
        <title></title>
        <style type="text/css">
            選擇器1{屬性:值;…}
            選擇器2{屬性:值;…}
            ……
            選擇器n{屬性:值;…}
        </style>
    </head>

style標(biāo)記定義HTML文檔的樣式信息,規(guī)定的是HTML元素如何在瀏覽器中呈現(xiàn),其中type用來指定元素中的內(nèi)容類型。

鏈入外部樣式表

當(dāng)為了保證站點的風(fēng)格統(tǒng)一,或當(dāng)定義樣式內(nèi)容較多,且需要多個頁面共享樣式時,可使用外部樣式表。鏈入外部樣式表是把樣式表保存為一個外部樣式表文件,然后在頁面中用link標(biāo)記鏈接到這個樣式表文件,link標(biāo)記放在頁面的head區(qū)內(nèi)。其基本語法為:

    <head>
        <meta charset="utf-8" />
        <title></title>
        <link href="樣式表路徑" rel="stylesheet" type="text/css" />
    </head>

其中:

href:指出樣式表存放的路徑。

rel:用來定義鏈接的文件與HTML之間的關(guān)系,rel="stylesheet"是指在頁面中使用這個外部的樣式表。

type屬性用于指定文件類型,“text/css”指文件的類型是樣式表文本。

導(dǎo)入外部樣式表

導(dǎo)入外部樣式表是指在HTML文件頭部的style元素里導(dǎo)入一個外部樣式表,導(dǎo)入外部樣式表采用import方式。導(dǎo)入外部樣式表和鏈入樣式表的方法很相似,但導(dǎo)入外部樣式表的樣式實質(zhì)上相當(dāng)于存在網(wǎng)頁內(nèi)部。其基本語法為:

    <head>
        <meta charset="utf-8" />
        <title></title>
        <style type="text/css">
            @import url("樣式表路徑");
        </style>
    </head>

CSS基本選擇器

選擇器是CSS中很重要的概念,它可以大幅度提高開發(fā)人員編寫或修改樣式表的工作效率。CSS3提供了大量的選擇器,大體上可以分為基本選擇器、組合選擇器、屬性選擇器、偽類選擇器和偽對象選擇器等。由于瀏覽器支持情況,很多選擇器在實際開發(fā)中很少用到,本篇主要記錄最基本又最常用的幾種選擇器。 基本選擇器包括標(biāo)記選擇器、類選擇器、id選擇器和通用選擇器。

標(biāo)記選擇器

HTML文檔中最基本的構(gòu)成是HTML標(biāo)記,如果要對文檔中的所有同類標(biāo)記都使用同一個CSS樣式時,就應(yīng)使用標(biāo)記選擇器。其基本語法為:

        標(biāo)記名{ 屬性1:值1; 屬性2:值2;…}

例如要使所有P標(biāo)簽的文本居中時,語法如下:

            p{
                text-align: center;
            }

類選擇器

類選擇器的基本語法為:

        標(biāo)記名.類名{屬性1:值1;屬性2:值2;…}

類選擇器針對標(biāo)記的全局屬性class,引用方式為:

        <標(biāo)記名 class="類名">

值得注意的是,這里的類名可以是任何合法的字符,由設(shè)計者定義。如果對所有的標(biāo)記均可使用,則采用*.類名的形式,這里的*表示全部,當(dāng)然,也可以省略。

下面舉幾個例子:

        <style type="text/css">
            p.text1{color:brown;font-size:14px;}
            /* 該形式下只允許<p>標(biāo)記中類名為"text1"的標(biāo)簽引用該樣式 */
            *.text1{ color:brown;font-size:14px; }
            或
            .text1{ color:brown;font-size:14px; }
            /* 表示所有類名為"text1"的標(biāo)簽都可引用該樣式 */
        </style>

id選擇器

id選擇器和類選擇器大致相同,不同的是定義時不使用“.”而使用“#”,作用于HTML標(biāo)記的全局屬性是“id”而不是“class”。 id選擇器的基本語法為:

        標(biāo)記名#id名{ 屬性1: 值1;屬性2: 值2;…}

id選擇器針對標(biāo)記的全局屬性id,引用方式為:

        <標(biāo)記名 id="id名">

當(dāng)然,與類選擇器一樣,如果對所有的標(biāo)記均使用時,則采用*#id名的形式,這里*表示全部,也可以省略。

通用選擇器

通用選擇器是一種特殊的選擇器,用 * 表示,匹配網(wǎng)頁中的所有元素,除非使用更為具體的選擇器指定某一元素中對應(yīng)的相同屬性應(yīng)使用其它值。通用選擇器和對body元素設(shè)定樣式稍有不同,因為通用選擇器應(yīng)用于每一個元素,而不依賴從應(yīng)用于body元素的規(guī)則中繼承的屬性。其基本用法如下:

        <style type="text/css">
            *{
                屬性1: 值1;
                屬性2: 值2;
                …
            }
        </style>

其它CSS選擇器

除了CSS基本選擇器外,CSS還有許多其它選擇器。

組合選擇器

CSS中組合選擇器,可以算作是基礎(chǔ)選擇器的升級版,也就是組合去使用基礎(chǔ)選擇器的意思。組合選擇器主要有五個類別:多元素選擇器、后代選擇器、子選擇器、相鄰選擇器和兄弟選擇器。

CSS組合選擇器

多元素選擇器

多元素選擇器的基本語法為:

        E, F {屬性1:值1;屬性2:值2;… } 

這個很好理解,就是同時選中多個元素,中間用“,”隔開。

后代元素選擇器

后代元素選擇器的基本語法為:

        E F {屬性1:值1;屬性2:值2;… } 

這個也很好理解,就是匹配所有屬于E元素后代的F元素,E元素F元素用空格隔開,例如:

        table b{color:red; } 

就表示將表格中的所有b元素文字設(shè)置為紅色。

子元素選擇器

子元素選擇器的基本語法為:

        E>F{屬性1:值1;屬性2:值2;…}

子元素選擇器只能選擇某元素的子元素,其中E為父元素,F(xiàn)為直接子元素,E>F所表示的是選擇了E元素下的所有子元素F,其間用>連接。這和后代元素選擇器不一樣,在后代元素選擇器中F是E的所有后代元素,而子元素選擇器中F必須是E的子元素。

相鄰兄弟選擇器

相鄰兄弟選擇器的基本語法為:

        E+F{屬性1:值1;屬性2:值2;…}

相鄰兄弟選擇器可以選擇緊接在另一元素后的元素,而且它們具有相同的父元素,其間用+號鏈接,換句話說,E和F具有同一個父元素,而且F元素在E元素后面并且緊緊相鄰。

一般兄弟選擇器

一般兄弟選擇器的基本語法為:

        E~F{屬性1:值1;屬性2: 值2;…}

一般兄弟選擇器將選擇某元素后面的所有兄弟元素,其間用~號鏈接,它和相鄰兄弟選擇器類似,需要在同一個父元素之中,并且F元素在E元素之后。區(qū)別在于E ~ F 選擇器匹配所有E元素后面的F元素,E+F僅匹配緊跟在E元素后邊的F元素。

屬性選擇器

屬性選擇器是在標(biāo)記后面加一個中括號,中括號中列出各種屬性或者表達式。屬性選擇器的形式很多,我們這里通過示例簡單介紹幾個。

存在屬性匹配

通過匹配存在的屬性來控制元素的樣式,一般要把匹配的屬性包含在中括號中。 例如將任何帶有href屬性的a標(biāo)記設(shè)置為綜色:

        a[href]{color:brown;}

精確屬性匹配 只有當(dāng)屬性值完全匹配指定的屬性值時才會應(yīng)用樣式,id選擇器和類選擇器本質(zhì)上就是精確屬性匹配選擇器。 例如將指向網(wǎng)址“http://www.o2fo.com” 的鏈接a標(biāo)記設(shè)置為棕色:

        a[href="http://www.o2fo.com"]{color:brown;}

前綴匹配

只要屬性值的開始字符串匹配指定字符串,即可對元素應(yīng)用樣式。前綴匹配使用[^=]形式實現(xiàn),如:

        [id^="user"]{color:brown;}

那么下列的標(biāo)簽均可以變?yōu)樽厣?/p>

        <p id="userName">小明</p>
        <p id="userWeight">體重</p>
        <p id="userAge">年齡</p>

后綴匹配

與前綴匹配相反,只要屬性值的結(jié)尾字符匹串配指定字符串,即可對元素應(yīng)用樣式。后綴匹配使用[$=]形式實現(xiàn),如:

        [id$="Name"]{color:brown;}

那么下列的標(biāo)簽均可以變?yōu)樽厣?/p>

        <p id="JackName">杰克</p>
        <p id="RoseName">蘿絲</p> 

子字符串匹配

只要屬性中存在指定字符串即應(yīng)用樣式,使用[*=]形式實現(xiàn),如:

        [id*="test"]{color:brown;}

那么下列的標(biāo)簽均可以變?yōu)樽厣?/p>

        <p id="Rosetest">段落1</p>
        <p id="testY">段落2</p> 
        <p id="xtesty">段落3</p>

以上就是CSS的學(xué)習(xí)筆記了,希望對大家有所幫助。然后對CSS感興趣的同學(xué)可以看一下教程:

CSS教程:http://www.o2fo.com/css/

CSS微課:http://www.o2fo.com/minicourse/play/csscourse

0 人點贊