学习要点:
1.选择器总汇
2.基本选择器
3.复合选择器
4.伪元素选择器
主讲教师:李炎恢
本章主要探讨 HTML5 中 CSS 选择器,通过选择器定位到想要设置样式的元素。目前 CSS 选择器的版本已经升级至第三代,即 CSS3 选择器。CSS3 选择器提供了更多、更丰富的选择器方式,主要分为三大类。
一.选择器总汇
本节课主要涉及到三种选择器:基本选择器、复合选择器和伪元素选择器,具体如下:
选择器 |
名称 |
说明 |
CSS 版本 |
* |
通用选择器 |
选择所有元素 |
2 |
|
元素选择器 |
选择指定类型的元素 |
1 |
# |
id 选择器 |
选择指定 id 属性的元素 |
1 |
. |
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.通用选择器
<span style="color: #800000;">* </span>{<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;"> 1px solid red</span>; }
解释:“*”号选择器是通用选择器,功能是匹配所有 html 元素的选择器包括和
标签。可以使用如下元素标记测试效果:<span style="color: #0000ff;"><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>段落<span style="color: #0000ff;"></span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><br><span style="color: #0000ff;"><span style="color: #800000;">b</span><span style="color: #0000ff;">></span>加粗<span style="color: #0000ff;"></span><span style="color: #800000;">b</span><span style="color: #0000ff;">></span> <br><span style="color: #0000ff;"><span style="color: #800000;">span</span><span style="color: #0000ff;">></span>无<span style="color: #0000ff;"></span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span></span></span></span>
通用选择器会将所有元素匹配并配置样式,这是把双刃剑,好处就是非常方便,坏处就是将不必要的元素也配置了。目前为止,还不存在所有元素都必须配置的样式,所以,一般来说,不常用。
2.元素选择器
<span style="color: #800000;">p </span>{<span style="color: #ff0000;"> color</span>:<span style="color: #0000ff;"> red</span>; }
<span style="color: #0000ff;"><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>段落<span style="color: #0000ff;"></span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span></span>
解释:直接使用元素名称作为选择器名即可。
3.ID 选择器
<span style="color: #800000;">#abc </span>{<span style="color: #ff0000;"> font-size</span>:<span style="color: #0000ff;"> 20px</span>; }
<span style="color: #0000ff;"><span style="color: #800000;">p </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="abc"</span><span style="color: #0000ff;">></span>段落<span style="color: #0000ff;"></span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span></span>
解释:通过对元素设置全局属性 id,然后使用#id 值来选择页面唯一元素。
4.类选择器
<span style="color: #800000;">.abc </span>{<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;"> 1px solid red</span>; }
<span style="color: #0000ff;"><span style="color: #800000;">b </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="abc"</span><span style="color: #0000ff;">></span>加粗<span style="color: #0000ff;"></span><span style="color: #800000;">b</span><span style="color: #0000ff;">></span><br><span style="color: #0000ff;"><span style="color: #800000;">span </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="abc"</span><span style="color: #0000ff;">></span>无<span style="color: #0000ff;"></span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span></span></span>
解释:通过对元素设置全局属性 class,然后使用.class 值选择页面一个或多个元素。
<span style="color: #800000;">b.abc </span>{<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;"> 1px solid red</span>; }
解释:也可以使用“元素.class 值”的形式,限定某种类型的元素。
<span style="color: #0000ff;"><span style="color: #800000;">span </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="abc edf"</span><span style="color: #0000ff;">></span>无<span style="color: #0000ff;"></span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span></span>
解释:类选择器还可以调用多个样式,中间用空格隔开进行层叠。
5.属性选择器
//所需 CSS2 版本
<span style="color: #800000;">[href] </span>{<span style="color: #ff0000;"> color</span>:<span style="color: #0000ff;"> orange</span>; }
解释:属性选择器,直接通过两个中括号里面包含属性名即可。当然,还有更多扩展的属性选择器。
//所需 CSS2 版本
<span style="color: #800000;">[type="password"] </span>{<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;"> 1px solid red</span>; }
解释:匹配属性值的属性选择器。
//所需版本 CSS3
<span style="color: #800000;">[href^="http"] </span>{<span style="color: #ff0000;"> color</span>:<span style="color: #0000ff;"> orange</span>; }
解释:属性值开头匹配的属性选择器。
//所需版本 CSS3
<span style="color: #800000;">[href$=".com"] </span>{<span style="color: #ff0000;"> color</span>:<span style="color: #0000ff;"> orange</span>; }
解释:属性值结尾匹配的属性选择器。
//所需版本 CSS3
<span style="color: #800000;">[href*="baidu"] </span>{<span style="color: #ff0000;"> color</span>:<span style="color: #0000ff;"> orange</span>; }
解释:属性值包含指定字符的属性选择器。
//所需版本 CSS2
<span style="color: #800000;">[class~="edf"] </span>{<span style="color: #ff0000;"> font-size</span>:<span style="color: #0000ff;"> 50px</span>; }
解释:属性值具有多个值时,匹配其中一个值的属性选择器。
//所需版本 CSS2
<span style="color: #800000;">[lang|="en"] </span>{<span style="color: #ff0000;"> color</span>:<span style="color: #0000ff;"> red</span>; }
解释:属性值具有多个值且使用“-”号连接符分割的其中一个值的属性选择器。比如
<span style="color: #0000ff;"><span style="color: #800000;">i </span><span style="color: #ff0000;">lang</span><span style="color: #0000ff;">="en-us"</span><span style="color: #0000ff;">></span>HTML5<span style="color: #0000ff;"></span><span style="color: #800000;">i</span><span style="color: #0000ff;">></span></span>
二.复合选择器
将不同的选择器进行组合形成新的特定匹配,我们称为复合选择器。
1.分组选择器
<span style="color: #800000;">p,b,i,span </span>{<span style="color: #ff0000;"> color</span>:<span style="color: #0000ff;"> red</span>; }
解释:将多个选择器通过逗号分割,同时设置一组样式。当然,不但可以分组元素选择器,还可以使用 ID 选择器、类选择器、属性选择器混合使用。
2.后代选择器
<span style="color: #800000;">p b </span>{<span style="color: #ff0000;"> color</span>:<span style="color: #0000ff;"> red</span>; }
解释:选择
元素内部所有元素。不在乎的层次深度。当然,后代选择器也可以混合使用 ID 选择器、类选择器、属性选择器。
3.子选择器
<span style="color: #800000;">ul > li </span>{<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;"> 1px solid red</span>; }
<span style="color: #0000ff;"><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 我是儿子 </span><span style="color: #0000ff;"><span style="color: #800000;">ol</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 我是孙子 </span><span style="color: #0000ff;"></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 我是孙子 </span><span style="color: #0000ff;"></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"></span><span style="color: #800000;">ol</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 我是儿子 </span><span style="color: #0000ff;"></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 我是儿子 </span><span style="color: #0000ff;"></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"></span><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span></span></span></span></span></span></span></span>
解释:子选择器类似与后代选择器,而最大的区别就是子选择器只能选择父元素向下一级的元素,不可以再往下选择。
4.相邻兄弟选择器
<span style="color: #800000;">p + b </span>{<span style="color: #ff0000;"> color</span>:<span style="color: #0000ff;"> red</span>; }
解释:相邻兄弟选择器匹配和第一个元素相邻的第二个元素。
5.普通兄弟选择器
<span style="color: #800000;">p ~ b </span>{<span style="color: #ff0000;"> color</span>:<span style="color: #0000ff;"> red</span>; }
解释:普通兄弟选择器匹配和第一个元素后面的所有元素。
三.伪元素选择器
伪选择器分为两种第一种是下节伪类选择器,还有一种就是伪元素选择器。这两种选择器特性上比较容易混淆,在 CSS3 中为了区分,伪元素前置两个冒号(::),伪类前置一个冒号(:)。
1.::first-line 块级首行
<span style="color: #800000;">::first-line </span>{<span style="color: #ff0000;"> color</span>:<span style="color: #0000ff;"> red</span>; }
解释:块级元素比如
、
2.::first-letter 块级首字母
<span style="color: #800000;">::first-letter </span>{<span style="color: #ff0000;"> color</span>:<span style="color: #0000ff;"> red</span>; }
解释:块级元素的首行字母。
3.::before 文本前插入
<span style="color: #800000;">a::before </span>{<span style="color: #ff0000;"> content</span>:<span style="color: #0000ff;"> '点击-'</span>; }
解释:在文本前插入内容。
4.::after 文本后插入
<span style="color: #800000;">a::before </span>{<span style="color: #ff0000;"> content</span>:<span style="color: #0000ff;"> '-请进'</span>; }
解释:在文本后插入内容。

htmlattributesarecrucialinwebdevelopment forcontrollingBehavior,外觀和功能

alt屬性是HTML中標籤的重要部分,用於提供圖片的替代文本。 1.當圖片無法加載時,alt屬性中的文本會顯示,提升用戶體驗。 2.屏幕閱讀器使用alt屬性幫助視障用戶理解圖片內容。 3.搜索引擎索引alt屬性中的文本,提高網頁的SEO排名。

HTML、CSS和JavaScript在網頁開發中的作用分別是:1.HTML用於構建網頁結構;2.CSS用於美化網頁外觀;3.JavaScript用於實現動態交互。通過標籤、樣式和腳本,這三者共同構築了現代網頁的核心功能。

設置標籤的lang屬性是優化網頁可訪問性和SEO的關鍵步驟。 1)在標籤中設置lang屬性,如。 2)在多語言內容中,為不同語言部分設置lang屬性,如。 3)使用符合ISO639-1標準的語言代碼,如"en"、"fr"、"zh"等。正確設置lang屬性可以提高網頁的可訪問性和搜索引擎排名。

htmlattributeseresene forenhancingwebelements'functionalityandAppearance.TheyAdDinformationTodeFineBehavior,外觀和互動,使網站互動,響應式,visalalyAppealing.AttributesLikutesLikeSlikEslikesrc,href,href,href,類,類型,類型,和dissabledtransfransformformformformformformformformformformformformformformforment

toCreateAlistInHtml,useforforunordedlistsandfororderedlists:1)forunorderedlists,wrapitemsinanduseforeachItem,RenderingeringAsabulletedList.2)fororderedlists,useandfornumberedlists,useandfornumberedlists,casundfornumberedlists,casundfornthetthetthetthetthetthetthetttributefordforderfordforderforderentnumberingsnumberingsnumberingStys。

HTML用於構建結構清晰的網站。 1)使用標籤如、、定義網站結構。 2)示例展示了博客和電商網站的結構。 3)避免常見錯誤如標籤嵌套不正確。 4)優化性能通過減少HTTP請求和使用語義化標籤。

toinsertanimageIntoanhtmlpage,usethetagwithsrcandaltattributes.1)usealttextforAcccessibilityandseo.2)instementRcsetForresponSiveImages.3)applylazyloadingWithLoadingWithLoading =“ lazy” tooptimizeperformance.4)tooptimizeperformance.4)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3漢化版
中文版,非常好用

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具