0

0

CSS选择器的简单介绍

黄舟

黄舟

发布时间:2017-04-13 10:30:54

|

1713人浏览过

|

来源于php中文网

原创

前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新

 

选择器权重

  如果以4位数表示选择符权重,那么:

 

CSS选择器简介

  • 通配选择器,*{...},星号代表通配选择器,可以与任何元素匹配;

  • 元素选择器,html{...},body{...},p{...},文档的元素是最基本的选择器,元素选择器;

  • id 选择器,#value,给元素设置一个 id 属性 ,值为value;

  • class 类选择器,.value{...},给元素设置一个 class 属性,值为value;

  • 属性选择器,属性选择器根据元素的属性及属性值来选择元素,有很多种:

  1. 简单属性选择器:img[title],获取设置了alt属性的img元素;#wrapper[outter],获取 id 为 wrapper 并且具有属性 wrapper 的元素;

  2. 具体属性选择器:input[type="button"],获取属性值 button 的 input 元素;#wrapper[outter="abc"],获取 id 为 wrapper 并且属性 outter的值为 abc 的元素;

  3. 部分属性选择器:p[class ^="a"],获取 class 属性值以 a 为开头的 p 元素;p[class $="b"],获取 class 属性值以 b 为结尾的 p 元素;

  • 分组选择器,将要分组的选择器用逗号隔开;#wrapper , #content{...},获取 id 为 wrapper 的元素,和 id 为 content 的元素,两个都获取;

  • 元素选择器0,将要分组的选择器用空格隔开,#wrapper #content{...},在 id 为 wrapper 的元素元素选择器1内部,获取 id 为 content 的元素,可能是子元素,也可能是子孙元素;

  • 元素选择器2,将要分组的选择器用大于号隔开,#wrapper > #content{...},在 id 为 wrapper 的元素对象内部,获取 id 为 content 的子元素,只往下找一级;子元素选择器和后代选择器不太一样,后代选择器包含子元素选择器,并且后代选择器还会继续向下查找

  • 兄弟元素选择器:

    简单的jQuery日期时间选择器
    简单的jQuery日期时间选择器

    一款简单的jQuery日期时间选择器插件,允许用户自由选择一个日期和时间,可自定义设置日期,简单实用,喜欢的不要错过。

    下载
  1. 元素选择器3(IE6及以下不支持),将要分组的选择器用加号隔开,.wrapper + .content{...},获取 class 为 wrapper 的元素之后,紧接着的这一个 class 为 content 的元素,和元素选择器4不同的是,相邻兄弟选择器只获当前元素之后取紧接着的这一个元素,后面就算还有相同的,也选择不到了;

  2. 通用兄弟选择器(IE7及以下不支持),将要分组的选择器用波浪号隔开,.wrapper ~ .content{...},获取 class 为 wrapper 的元素之后,所有的 class 为 content 的元素,和相邻兄弟选择器是不一样的;

  1. :root 选择文档的根元素,即 html 元素;

  2. input元素选择器6,当前 input 框获得焦点;

  3. element元素选择器7,鼠标悬停在当前元素上面;

  4. p:nth-of-type(n),选择是其父元素的第 n 个 p 元素,这个是依照父元素内部的 p 元素的顺序计算 n ,然后获取的; n 是元素选择器8,并且从1开始,也可以是公式,也可以是关键字even(偶数)、odd(奇数);

  5. p元素选择器9,选择是其父元素的第 1 个 p 元素,与 p:nth-of-type(1) 效果相同;

  6. pclass0,选择是其父元素的最后一 个 p 元素,注意前面没有 nth;

  7. p:nth-last-of-type(n),选择是其父元素的第 n 个 p 元素,但是是从最后一个子项往前数,注意前面有 nth;

  8. p:nth-child(n),选择是其父元素的第 n 个子元素,并且得是 p 元素,这个是依照父元素内部的子元素的顺序计算 n ,然后再看第 n 个是否为 p 元素;这就出现一种情况,第 n 个子元素可能不是 p ,然后就获取不到了,所以用 nth-of-type(n) 会好一点;

  9. pclass1,选择是其父元素的第 1 个元素,并且是 p 元素,与 p:nth-child(1) 相同;

  10. p:last-child,选择是其父元素的最后一个元素,并且是 p 元素;

  11. p:nth-last-child(n),选择是其父元素的第 n 个子元素,并且得是 p 元素,但是是从最后一个子项往前数,注意前面有 nth;

  12. 还有很多其他的...

  • 伪元素选择器:

  1. class2,指定一个元素第一个字母的样式,所有前导标点符号应与第一个字母一同应用该样式,并且只能与块级元素关联

  2. class3,设置元素中第一行文本的样式,只能与块级元素关联

  3. class4,IE7及以下不支持,在元素内容的最开始插入生成内容;

  4. class5,IE7及以下不支持,在元素内容的最后插入生成内容;

  5. ::selection,匹配被用户选择的部分;只支持双冒号写法只支持颜色和背景颜色两个样式

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

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

24

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

99

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

132

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

15

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

63

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.22

热门下载

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

精品课程

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

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3万人学习

CSS教程
CSS教程

共754课时 | 23万人学习

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

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