0

0

CSS的Selector使用详解

php中世界最好的语言

php中世界最好的语言

发布时间:2018-03-21 17:03:20

|

5425人浏览过

|

来源于php中文网

原创

这次给大家带来CSS的Selector使用详解,使用CSS的Selector注意事项有哪些,下面就是实战案例,一起来看一下。

CSS1 中定义的选择器

类型选择器

用于选择指定类型的元素(其实他就是 html 标签选择器),常见用法如下:

body {
    /*对 body 元素定义样式*/
}
body,p {
    /*同时选择多种标签元素*/
}

ID 选择器

用于选择指定 ID 的 html 元素,常见使用方法如下:


因为 CSS 的渲染顺序是从右往左进行渲染的,而 ID 则是全唯一的,那么就可以省略掉前面的类型选择器。

类选择器

用于选择指定类名的 html 元素,常见使用方法如下:


包含选择器

用于选择层级嵌套的元素,常见使用方法如下:


需要注意的是:包含选择器不关心层级,只要后面的选择器是被包含在前一个元素中的即可。如上述例子,两个 nav-tools 都会被选择器选中!

伪类选择器

:link——链接伪类选择器

用于定义链接未被访问状态时的样式,常见使用方法如下:

:visited——链接伪类选择器

用于定义已被访问的链接样式,常见使用方法如下:

:active——用户操作伪类选择器

用于定义被激活的元素样式,常见使用方法如下:

:hover——用户操作伪类选择器

用于定义鼠标经过元素是的样式,常见使用方法如下:

:focus——用户操作伪类选择器

用于定义获得焦点的元素样式,常见使用方法如下:

::first-line

用于定义元素内第一行文本的样式,常见使用方法如下:

层叠样式表(英文全称:cascading style sheets)是一种用来表现html(标准通用标记语言的一个应用)或xml(标准通用标记语言的一个子集)等文件样式的计算机语言。css不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

::=first-letter

用于定义元素内第一个字符的样式,常见使用方式如下:

CSS2中定义的选择器

*——通配选择器

用于定义 DOM 中所有元素的共同样式,常见使用方法如下:

如果要重置默认样式的话,不建议使用通配选择器

[attribute]——属性选择器

用于定义元素包含属性为attribute的元素的样式,常见使用方法如下:

  • Menu
  • Index

[attribute=“value”]——属性选择器

用于定义元素属性的值为指定的值样式,常见使用方法如下:

  • Menu
  • Index

[attribute~="value"]——属性选择器

用于定义属性中包含指定值且以空格来分隔属性值得元素,常见使用方法如下:

  • Menu
  • Index

如上所示,只有第一个 li 的前景色会被定义为红色!

[attribute|="value"]——属性选择器

用于定义属性中包含指定值且以连字符(-)链接的属性值,常见使用方法如下:

  • Menu
  • Index

如上所示:只有第二个 li 的前景色会被定义为红色!

:first-child——结构伪类选择器

用于定义元素的第一个元素的样式,常见使用方式如下:

  • Menu
  • Index

注意 :first-child 是作用于同级,且相同标签的第一个元素。如上所示,如果要定义第一个 li 的样式,那么久需要使用 li:first-child,而不是 ul:first-child!

:lang(en)

用于定义属性为 lang=“en” 的元素样式,常见使用方法如下:

Hello World

::before

用于定义元素之前的内容和样式,常见使用方法如下:

World

::after

用于定义元素之后的内容和样式,常见使用方法如下:

Hello

p > p

用于定义元素的第一级子元素的样式,常见方法使用如下:

  • Menu
  • Index

h1 + p

用于定义元素相邻的元素样式,常见使用方法如下:

CSS

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。

CSS3 新增属性选择器

[foo^="bar"]

用于定义元素属性以 bar 开头的元素的样式

Betterde Inc. Betterde Inc.

如上所示,标记 https 链接为绿色。

[foo$="bar"]

用于定义元素属性以 bar 结尾的元素的样式

logo.png style.css main.js

如上所示,识别超链接的所链接的文件格式,并在前面添加文件类型图标!

[foo*="bar"]

用于定义元素属性中包含 bar 的元素的样式,需要注意的是,这里是包含,也就是说无论是什么样的组合,只要属性值还有这bar 这三个连续字母的都会被选中!

如上所示:p 内的三个元素都将会被渲染为红色字体!

虽然 CSS3 中任然保留 CSS2 中定义的属性选择器,但是建议使用 CSS3 的属性选择器来替代!

结构伪类选择器

:root

用于定义 html 标签元素的样式

:nth-child(n)

用于定义子元素的样式,n 表示第几个子元素。n 可以是数字,或关键字odd、even或公式。常见使用方法如下:

name gender age
George Male 23
Kevin Male 28
Angule Male 23

:nth-last-child(n)

与 :nth-child(n)用法相同,只是排序方式是从后往前!

:nth-of-type(n)

用于定义相同元素的第 n 个元素的样式,常见使用方法如下:

name gender age
George Male 23
Kevin Male 28
Angule Male 23

:nth-last-of-type(n)

与 :nth-of-type(n)用法相同,只是排序方式是从后往前!

:last-child

用于定义最后一个元素的样式,常见使用方法如下:

name gender age
George Male 23
Kevin Male 28
Angule Male 23

:first-of-type

定义第一个元素相同类型元素的样式,与 :nth-of-type(1) 效果一样

:last-of-type

定义最后一个元素相同类型元素的样式,常见使用方法如下:

name gender age
George Male 23
Kevin Male 28
Angule Male 23

:only-child

用于定义子元素只有一个且与制定元素标签相同,常见使用方法如下:

Hello

:only-of-type

用于定义只包含一个制定的标签元素的样式,常见使用方法如下:

Hello

:empty

用于定义,一个元素中没有包含任何子元素的样式,常见使用方法如下:

CSS3 新增的其他选择器

E ~ F

用于定义兄弟元素的样式,常见使用方法如下:

Hello

CSS

p 元素中的 p 不会被渲染为红色字体,只有跟 p 是同级的 p 才会被渲染为红色!

:not(s)

用于定义指定元素,并且过滤 s 所指定的选择器元素,常见使用方法如下:

Hello

World

Welcome!

立即学习前端免费学习笔记(深入)”;

Peppertype.ai
Peppertype.ai

高质量AI内容生成软件,它通过使用机器学习来理解用户的需求。

下载

注意:s 是一个简单的结构选择器,不能使用复合选择器,该选择器只匹配第一个复合条件的元素。如上所示,最后一个 p 不会被渲染为蓝色!

:target

用于定义被访问的锚链样式,常见使用方法如下:

这是第一个文本段

这是第二个文本段

注意:当我们激活锚链时(url中包含 #text-one 或 #text-two),对应的 p 内的元素字体会被渲染为红色!

CSS3 UI 元素状态伪类选择器

:enabled

用于定义元素的 enabled 时的样式,常见使用方式如下:

注意:元素默认状态为 enabled

:disabled

用于定义元素处于禁用状态时的样式,常见使用方法如下:

:checked

用于定义元素被选中时的样式,常见使用方式如下:

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

你不知道的冷门CSS属性

href和src、link和@import有什么区别

css的绝对定位怎么兼容所有的分辨率

相关文章

相关标签:

css

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 5万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号