第 13 章 CSS 選擇器[上]

来源:http://www.cnblogs.com/zfc2201/archive/2016/04/29/5447825.html
-Advertisement-
Play Games

學習要點: 1.選擇器總匯 2.基本選擇器 3.複合選擇器 4.偽元素選擇器 主講教師:李炎恢 本章主要探討 HTML5 中 CSS 選擇器,通過選擇器定位到想要設置樣式的元素。目前 CSS 選擇器的版本已經升級至第三代,即 CSS3 選擇器。CSS3 選擇器提供了更多、更豐富的選擇器方式,主要分為 ...


學習要點:

1.選擇器總匯

2.基本選擇器

3.複合選擇器

4.偽元素選擇器

 

主講教師:李炎恢

 

本章主要探討 HTML5 中 CSS 選擇器,通過選擇器定位到想要設置樣式的元素。目前 CSS 選擇器的版本已經升級至第三代,即 CSS3 選擇器。CSS3 選擇器提供了更多、更豐富的選擇器方式,主要分為三大類。

 

一.選擇器總匯

本節課主要涉及到三種選擇器:基本選擇器、複合選擇器和偽元素選擇器,具體如下:

選擇器

名稱

說明

CSS 版本

*

通用選擇器

選擇所有元素

2

<type>

元素選擇器

選擇指定類型的元素

1

#<id>

id 選擇器

選擇指定 id 屬性的元素

1

.<class>

class 選擇器

選擇指定 class 屬性的元素

1

[attr]系列

屬性選擇器

選擇指定 attr 屬性的元素

2 ~ 3

s1,s2,s3...

分組選擇器

選擇多個選擇器的元素

1

s1 s2

後代選擇器

選擇指定選擇器的後代元素

1

s1 > s2

子選擇器

選擇指定選擇器的子元素

2

s1 + s2

相鄰兄弟選擇器

選擇指定選擇器相鄰的元素

2

s1 ~ s2

普通兄弟選擇器

選擇指定選擇器後面的元素

3

::first-line

偽元素選擇器

選擇塊級元素文本的首行

1

::first-letter

偽元素選擇器

選擇塊級元素文本的首字母

1

::before

偽元素選擇器

選擇元素之前插入內容

2

::after

偽元素選擇器

選擇元素之後插入內容

2

 

二.基本選擇器

使用簡單且頻率高的一些選擇器歸類為基本選擇器。

1.通用選擇器

* {
    border: 1px solid red;
}

解釋:“*”號選擇器是通用選擇器,功能是匹配所有 html 元素的選擇器包括<html>和<body>標簽。可以使用如下元素標記測試效果:

<p>段落</p>
<b>加粗</b>
<span></span>

通用選擇器會將所有元素匹配並配置樣式,這是把雙刃劍,好處就是非常方便,壞處就是將不必要的元素也配置了。目前為止,還不存在所有元素都必須配置的樣式,所以,一般來說,不常用。

 

2.元素選擇器

p {
    color: red;
}
<p>段落</p>

解釋:直接使用元素名稱作為選擇器名即可。

 

3.ID 選擇器

#abc {
    font-size: 20px;
}
<p id="abc">段落</p>

解釋:通過對元素設置全局屬性 id,然後使用#id 值來選擇頁面唯一元素。

 

4.類選擇器

.abc {
    border: 1px solid red;
}
<b class="abc">加粗</b>
<span class="abc"></span>

解釋:通過對元素設置全局屬性 class,然後使用.class 值選擇頁面一個或多個元素。

 

b.abc {
    border: 1px solid red;
}

解釋:也可以使用“元素.class 值”的形式,限定某種類型的元素。

 

<span class="abc edf"></span>

解釋:類選擇器還可以調用多個樣式,中間用空格隔開進行層疊。

 

5.屬性選擇器

//所需 CSS2 版本 

[href] {
    color: orange;
}

解釋:屬性選擇器,直接通過兩個中括弧裡面包含屬性名即可。當然,還有更多擴展的屬性選擇器。

 

//所需 CSS2 版本 

[type="password"] {
    border: 1px solid red;
}

解釋:匹配屬性值的屬性選擇器。

 

//所需版本 CSS3

[href^="http"] {
    color: orange;
}

解釋:屬性值開頭匹配的屬性選擇器。

 

//所需版本 CSS3

[href$=".com"] {
    color: orange;
}

解釋:屬性值結尾匹配的屬性選擇器。

 

//所需版本 CSS3

[href*="baidu"] {
    color: orange;
}

解釋:屬性值包含指定字元的屬性選擇器。

 

//所需版本 CSS2

[class~="edf"] {
    font-size: 50px;
}

解釋:屬性值具有多個值時,匹配其中一個值的屬性選擇器。

 

//所需版本 CSS2

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

解釋:屬性值具有多個值且使用“-”號連接符分割的其中一個值的屬性選擇器。比如

<i lang="en-us">HTML5</i>

 

二.複合選擇器

將不同的選擇器進行組合形成新的特定匹配,我們稱為複合選擇器。

1.分組選擇器

p,b,i,span {
    color: red;
}

解釋:將多個選擇器通過逗號分割,同時設置一組樣式。當然,不但可以分組元素選擇器,還可以使用 ID 選擇器、類選擇器、屬性選擇器混合使用。

 

2.後代選擇器

p b {
    color: red;
}

解釋:選擇<p>元素內部所有<b>元素。不在乎<b>的層次深度。當然,後代選擇器也可以混合使用 ID 選擇器、類選擇器、屬性選擇器。

 

3.子選擇器 

ul > li {
    border: 1px solid red;
}
<ul>
    <li>
        我是兒子
        <ol>
            <li>
                我是孫子
            </li>
            <li>
                我是孫子
            </li>
        </ol>
    </li>
    <li>
        我是兒子
    </li>
    <li>
        我是兒子
    </li>
</ul>

解釋:子選擇器類似與後代選擇器,而最大的區別就是子選擇器只能選擇父元素向下一級的元素,不可以再往下選擇。

 

4.相鄰兄弟選擇器

p + b {
    color: red;
}

解釋:相鄰兄弟選擇器匹配和第一個元素相鄰的第二個元素。

 

5.普通兄弟選擇器

p ~ b {
    color: red;
}

解釋:普通兄弟選擇器匹配和第一個元素後面的所有元素。

 

三.偽元素選擇器

偽選擇器分為兩種第一種是下節偽類選擇器,還有一種就是偽元素選擇器。這兩種選擇器特性上比較容易混淆,在 CSS3 中為了區分,偽元素前置兩個冒號(::),偽類前置一個冒號(:)。

1.::first-line 塊級首行

::first-line {
    color: red;
}

解釋:塊級元素比如<p>、<div>等的首行文本被選定。如果想限定某種元素,可以加上前置 p::first-line。

 

2.::first-letter 塊級首字母

::first-letter {
    color: red;
}

解釋:塊級元素的首行字母。

 

3.::before 文本前插入

a::before {
    content: '點擊-';
}

解釋:在文本前插入內容。

 

4.::after 文本後插入

a::before {
    content: '-請進';
}

解釋:在文本後插入內容。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在此先容我拿“小弟”這個詞來扯一下淡。什麼是小弟呢,所謂小弟就是可以幫你做一些瑣碎的事情,在此我們就拿“小弟”來類比“外觀模式”。在上面一篇博文我們完整的介紹了“適配器模式”,接下來我們將要在這篇博客中介紹“外觀模式”(Facade Pattern)。其實外觀模式與之前我們介紹過的“命令模式”有些相 ...
  • Appreciation to our TA, +7, who designed this task. Client.cpp include include include "Factory.hpp" include "Product.hpp" int main() { UIFactory ui = ...
  • 1,開篇 在剛剛學習完李建中老師的C#面向對象之設計模式縱橫談視頻之後,感想頗多,在此稍微記錄一下嘿嘿。 2,內功修煉 很多人都反映,學了設計模式就感覺好像什麼都沒學到一樣,學了就忘了,學了也不會用,然後還需要再枯燥的再去學。其實我覺得這樣是沒有真正領悟設計模式的精髓,對於修煉武功一樣,只去學一些外 ...
  • 學習要點: 1.字體總匯 2.字體設置 3.Web 字體 主講教師:李炎恢 本章主要探討 HTML5 中 CSS 文本樣式,通過文本樣式的設置,更改字體的大小、樣式以及文本的方位。 一.字體總匯 本節課,我們重點瞭解一下 CSS 文本樣式中字體的一些設置方法,樣式表如下: 屬性名 說明 CSS 版本 ...
  • 知識點:(圖片為網路轉載,謝謝分享。) JavaScript 變數 JavaScript 數據類型 JavaScript 字元串函數 Javascript 運算符 JavaScript 流程式控制制 JavaScript 數組 JavaScript 函數基礎 DOM 基本操作 Window 對象 Jav ...
  • 初入前端。在學習上總會有很多問題。這次就網頁佈局來講講。 網頁佈局在現代已經不再是什麼難事,幾乎所有頁面都能做好一個能拿得出手的佈局,在現在招聘網站上也有好多要求什麼div+css佈局的,簡直不知所言。 前端不懂佈局就沒法繼續前了。那麼怎麼佈局呢。 細心一點就會發現,css裡面竟然沒有專門為佈局而設 ...
  • 無縫輪播圖: ...
  • 學習要點: 1.顏色表方案 2.度量單位 主講教師:李炎恢 本章主要探討 HTML5 中 CSS 顏色和度量單位等問題,包括顏色的選取方式、相對長度和絕對長度等。 一.顏色表方案 顏色的表現形式主要有三種方式:顏色名稱、十六進位代碼和十進位代碼。 p { color: red; } 解釋:這是將一個 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...