【CSS】P7 伪类选择器(动态伪类,结构伪类,否定伪类,UI伪类,目标伪类,语言伪类)
创始人
2025-05-30 03:56:59
0次

这里写自定义目录标题

  • 伪类选择器
    • 什么是伪类
  • 动态伪类
    • 五个常用动态伪类
    • 常用动态伪类举例
    • 动态伪类的顺序关系
  • 结构伪类
    • 六个常用结构伪类
    • :first-child
    • :last-child
    • :nth-child()
    • :first-of-type
    • :last-of-type
    • :nth-of-type()
    • 几个不常用的结构伪类
  • 否定伪类
  • UI 伪类
  • 目标伪类
  • 语言伪类


伪类选择器

什么是伪类

伪类(Pseudo-Class): 伪类用于选择 HTML 元素的某个 状态 或特定的 位置;

例如,动态伪类 中存在 :hover,用于选择元素在鼠标悬停时的 状态;结构伪类 中存在 :first-child 用于选择元素作为父元素的第一个子元素的 状态;

浅浅举个例子:



去百度去京东


动态伪类

五个常用动态伪类

a:link		/* 表示样式将应用于 HTML 中未被访问过的链接;*/
a:visited		/* 表示样式将应用于 HTML 中已被访问过的链接;*/
a:hover		/* 表示样式将应用于当用户将鼠标悬停在 HTML 中链接上时的状态;*/
a:active		/* 表示样式将应用于当用户点击 HTML 中链接时的状态;*/
select:focus		/* 表示样式将应用于当链接被选中或获得焦点时的状态;*/

常用动态伪类举例

a:link a:visited a:hover a:active


去百度去京东

上述代码产生效果为:链接未被访问时,呈现橙色效果,鼠标悬浮在链接上,呈现天蓝色效果,点击未松开,呈现绿色效果,访问后,呈现灰色效果;

select:focus input:focus





动态伪类的顺序关系

要注意的是,动态伪类之间存在有顺序关系,思考如下情形:

在我们点下 去百度 并不松开的时候,我们其实是同时处于以上几种状态中的三种::link :hover :active,而在 CSS 中,渲染存在覆盖效果;所以CSS中表现的样式是几种状态中最下方的状态,即若将 a:active 置于状态中的最下方,则会呈现点击未松开的绿色效果;


结构伪类

六个常用结构伪类

:first-child	/* 表示样式将应用于一个元素的第一个子元素 */
:last-child		/* 表示样式将应用于一个元素的最后一个子元素 */
:nth-child()	/*  表示样式将应用于某个元素的指定子元素 */
:first-of-type		/* 表示样式将应用于一个类型的元素中的第一个元素 */
:last-of-type		/* 表示样式将应用于一个类型的元素中的最后一个元素 */
:nth-of-type()		/* 表示样式将应用于一个类型的元素中的指定位置的元素 */

:first-child

:first-child


测试1

测试2

测试3

张三:98分

李四:88分

王五:78分

赵六:68分

结果展示:

在这里插入图片描述


:last-child

:last-child


测试1

测试2

测试3

张三:98分

李四:88分

王五:78分

赵六:68分

效果展示:

在这里插入图片描述


:nth-child()

:nth-child

/* 选择第二个子元素 */
:nth-child(2) {color: red;
}/* 选择奇数子元素 */
:nth-child(odd) {background-color: yellow;
}/* 选择奇数子元素 */
:nth-child(2n+1) {background-color: blue;
}/* 选择偶数子元素 */
:nth-child(even) {background-color: green;
}/* 选择偶数子元素 */
:nth-child(2n) {background-color: yellow;
}/* 选择从第三个子元素开始的子元素 */
:nth-child(n+3) {font-size: 1.2em;
}/* 选择前三个子元素 */
:nth-child(-n+3) {font-weight: bold;
}

举例:


第一个元素

第二个元素

第三个元素

第四个元素

第五个元素

第六个元素

第七个元素

第八个元素

第九个元素

第十个元素


:first-of-type

:first-of-style

/* 第一个段落元素 */
p:first-of-type {color: blue;
}/* 第一个 div 元素 */
div:first-of-type {background-color: yellow;
}/* 第一个 h2 元素 */
h2:first-of-type {font-size: 2em;
}

举例:


第一个元素

第二个元素

第三个元素

第四个元素

第五个元素

第六个元素


:last-of-type

/* 最后一个段落元素 */
p:last-of-type {color: blue;
}/* 最后一个 div 元素 */
div:last-of-type {background-color: yellow;
}/* 最后一个 h2 元素 */
h2:last-of-type {font-size: 2em;
}

:nth-of-type()

/* 选择第二个子元素 */
:nth-of-type(2) {color: red;
}/* 选择奇数子元素 */
:nth-of-type(odd) {background-color: yellow;
}/* 选择偶数子元素 */
:nth-of-type(even) {background-color: green;
}/* 选择从第三个子元素开始的子元素 */
:nth-of-type(n+3) {font-size: 1.2em;
}/* 选择前三个子元素 */
:nth-of-type(-n+3) {font-weight: bold;
}

几个不常用的结构伪类

/* 选择一个父元素中倒数第二个子元素 */
p:nth-last-child(2) {color: red;
}/* 选择一个与其同类型的兄弟元素中倒数第二个元素 */
p:nth-last-of-type(2) {color: red;
}/* 选择一个父元素中唯一的子元素 */
p:only-child {color: red;
}/* 选择一个父元素中唯一的子元素 */
p:only-child {color: red;
}/* 全局样式 */
:root {/* 全局样式 */
}html {/* 更具体的样式 */
}/* 选中的是没有内容的div元素 */
div:empty {background-color: #eee;
}
即:

否定伪类

/* 选择所有除了 class="highlight" 的段落元素 */
p:not(.highlight) {color: blue;
}/* 选择所有除了 id="footer" 的元素 */
*:not(#footer) {background-color: yellow;
}/* 选择所有除了 type="checkbox" 的表单控件 */
input:not([type="checkbox"]) {border: 1px solid gray;
}/* 选择所有除了 title 以"你要加油"开头的表单控件 */
div>p:not([type^="你要加油"]) {color: orange;
}

UI 伪类

:checked		/* 用于匹配已被选中的表单元素 */
:enable			/* 选择处于启用状态的表单元素 */
:disabled		/* 选择处于禁用状态的表单元素 */
input:checked {width: 100px;height: 100px;
}
input[type="text"]:enabled {background-color: gray;
}
input[type="text"]:disabled {background-color: gray;
}

目标伪类

:target		/* 用于选择当前页面中被 URL 中的片段标识符(#)指定的元素 */

举例:



:target Example

Section 1

Content of section 1 goes here...

Section 2

Content of section 2 goes here...

Section 3

Content of section 3 goes here...


语言伪类

:lang()		/* 选择使用特定语言属性的元素 */


:lang Example

This is a paragraph in English.

Ceci est un paragraphe en français.

Dies ist ein Absatz auf Deutsch.

This is another paragraph in English.


相关内容

热门资讯

在大吉订购APP订购交易亏损被...   近期,不少投资者反映在“大吉订购App”上投资白银、铂金等商品遭遇严重亏损。该平台宣称提供现货订...
铂银壹号APP商品订购交易亏损...   许多中小投资者误以为网上的“商品现货订购”是合规合法的理财渠道,殊不知这背后隐藏着巨大的合规风险...
兴鑫淘金APP贵金属订购交易亏...   白银、贵金属或其他商品类投资,除国家批准的正规期货交易场所及持牌期货公司外,市面上大量第三方交易...
铂银掘金APP无资质的违规平台...   铂银掘金等平台的投资者,往往是被“注册送现金”“充值返现券”“首单免亏”等广告话术吸引,进而下载...
八方淘金APP订购交易不合规,...   “八方淘金APP”“铂银掘金APP”“铂银壹号APP”等软件被指以“现货订购”为名,实际采用高杠...
在指尖订购APP订购商品亏损被...   指尖订购APP这类平台,表面是“订购交易”,实则是披着电商外衣的非法期货陷阱。绝大多数投资者被蒙...
在犀贝易购APP做商品订购交易...   市面上打着“现货投资”“贵金属交易”旗号的APP并不少,但真正合规、受监管的平台并不多。犀贝易购...
易达淘金APP虚假商品订购交易...   易达淘金APP存在严重的虚假宣传与违规交易行为。该平台打着“商品订购”的旗号,实则通过不合规的交...
大浪淘金APP白银订购亏损被骗...   大浪淘金APP最隐蔽的套路,在于其完全封闭的内盘交易系统。表面上,它宣称与国际贵金属市场接轨;实...
一品好购APP上订购白银出现亏...   一品好购APP原名“一品订购”,运营方为上海宝智未来信息技术有限公司。近期不少投资者反映在该平台...
九州订购APP贵金属订购投资骗...   九州订购APP正通过抖.音、快手、今日头条等平台大量投放投资广告,用“5元起投”“充值返现”“0...
坚锅淘金APP交易软件并不正规...   当前,市面上大量所谓的“现货商城订购”交易软件,早已偏离了正常的实物商品买卖,演变为高杠杆、高手...
斗金订购APP贵金属期货交易骗...   斗金订购APP的投资者往往被铺天盖地的广告宣传所诱导——注册即送现金、充值返现券等看似诱人的福利...
警惕!云启购APP违规经营,披...   "5元起投、充值返现、稳赚不赔"——这些诱人的广告语背后,可能是一个精心设计的金融陷阱。  近期...
量子淘金APP贵金属投资不合规...   "4元起投""充值返券""月入过万"——这些极具诱惑力的广告语在短视频平台、社交软件上铺天盖地。...
鑫汇智投APP贵金属商品订购骗...   鑫汇智投APP非法期货投资骗局,受害者在投资过程中根本不懂交易,也不去研究和验证这个平台是否正规...
矅光智策APP平台违规经营非法...   矅光智策APP对外宣称是“商城订购”“现货交易”,但查询其经营范围,并未显示具备开展现货期货交易...
黄金珠宝怎么选?内侧刻字都代表... 潮新闻客户端 记者 马焱 通讯员 任倩影 9月8日下午,“云游杭州 乐购金秋”——“浙城·浙放心”活...
原创 冰... 最近全球国债市场正在上演魔幻一幕: 美债、日债、欧债遭遇猛烈抛售,收益率冲到几十年新高,美国财政部都...
日韩股市开盘表现分化 上证报中国证券网讯 9月9日,日韩股市开盘表现分化,韩国综合指数开盘上涨0.26%,报6972.87...