1、基本选择器

2、组合选择器

3、伪类选择器

4、伪元素选择器

CSS选择器规定了CSS规则会应用到哪些元素上

1、基本选择器

基本选择器:通配选择器、元素选择器、类选择器、ID选择器、属性选择器

/* 通配选择器、性能最低的一个CSS选择器 */ *{}
/* 元素选择器 */ element{}
/* 类选择器 */ .class{}
/* ID选择器 */ id{}
/* 属性选择器 */ element[attribute]{} element[attribute="value"]{} /* 属性值为value */
element[attribute~="value"]{} /* 属性值有多个,其中一个值为value */
element[attribute|="value"]{} /* 属性值为value或是以value-开头 */ /* 属性值以value开头 */ element[attribute^="value"]{} /* IE7+ */
/* 属性值以value结尾 */ element[attribute$="value"]{} /* IE7+ */
/* 属性值包含value */ element[attribute*="value"]{} /* IE7+ */

2、组合选择器

组合选择器:后代选择器、子选择器、相邻兄弟选择器、兄弟选择器

/* 后代选择器 */ element element{}
/* 子选择器 */ element > element{}
/* 相邻兄弟选择器 */ element + element{}
/* 兄弟选择器 */ element ~ element{} /* IE7+ */

3、伪类选择器

伪类允许基于未包含在文档树中的状态信息来选择元素

/* 未访问 */ element:link{}
/* 已访问 */ element:visited{} /* 出于隐私原因,可以使用此选择器修改的样式非常有限,允许使用的CSS属性为color、background-color、border-color、outline-color */
/* 悬停 */ element:hover{}
/* 点击 */ element:active{}
/* 输入焦点 */ element:focus{} /* 基于元素语言来匹配页面元素 */ element:lang(f){}
/* 匹配不符合参数选择器描述的元素 */ element:not(s){} /* IE9+ */
/* 匹配文档树的根元素 */ element:root{} /* IE9+ */ element:first-child{}
element:last-child{} /* IE9+ */
element:only-child{} /* IE9+ */
element:nth-child(n){} /* IE9+ */
element:nth-last-child(n){} /* IE9+ */ element:first-of-type{} /* IE9+ */
element:last-of-type{} /* IE9+ */
element:only-of-type{} /* IE9+ */
element:nth-of-type(n){} /* IE9+ */
element:nth-last-of-type(n){} /* IE9+ */ /* 空元素 */ element:empty{} /* IE9+ */
/* 选中状态 */ element:checked{} /* IE9+ */
/* 可用状态 */ element:enabled{} /* IE9+ */
/* 禁用状态 */ element:disabled{} /* IE9+ */
/* 锚点指向的元素为目标元素,:target伪类用于选取当前激活的目标元素 */ element:target{} /* IE9+ */
<style>
#demo:target{ color:#f00; }
</style> <a href="#demo">#demo</a>
<div id="demo">:target伪类使用方法</div> <a href="https://madmurphy.github.io/takefive.css/">一个基于:target伪类的更为完善的纯-CSS加亮框</a>

4、伪元素选择器

伪元素表示所有未被包含在HTML的实体

CSS3将伪元素选择器前面的单冒号(:)改为双冒号(::)用以区分伪类选择器,但以前的写法仍然有效

/* 用于块级元素第一行的第一个字符 */ element:first-letter{}
/* 用于块级元素第一行的第一个字符 */ element::first-letter{} /* IE9+ */ /* 用于块级元素第一行 */element:first-line{}
/* 用于块级元素第一行 */element::first-line{} /* IE9+ */ element:before{}
element::before{} /* IE9+ */
element:after{}
element::after{} /* IE9+ */ element::-moz-selection{}
element::selection{} /* IE9+ */
/* 用于文档中被用户高亮的部分,只有一小部分CSS属性可以用于::selection选择器:background-color、color、text-decoration、text-shadow、outline、cursor */ element::-webkit-input-placeholder{}
element::-moz-placeholder{}
element:-ms-input-placeholder{} /* IE10+ */
element::placeholder{}

CSS选择器【记录】的更多相关文章

  1. CSS选择器的一些记录

    选择器 例子 例子描述 CSS .class .intro 选择 class="intro" 的所有元素. 1 #id #firstname 选择 id="firstna ...

  2. 【CSS选择器】理解汇总和记录

    1.选择器中符号含义汇总(这部分包含了对选择器的通用理解): 1.1.多元素组合符号:(共6个,一个是CSS3的)(适用所有元素:ID组合,类组合,属性组合,标签组合,伪类组合,以及以上所有混合组合) ...

  3. [css选择器]总结:IE6不支持的CSS选择符

    转载地址:https://www.wenjiwu.com/doc/zvsbii.html.此文最后也给出了原文地址,但是我点击过去发现是什么赌博彩票的地址,360也弹出小心的提示,所以这里只给出了我转 ...

  4. CSS选择器 + Xpath + 正则表达式整理(有空再整理)

    选择器 例子 例子描述 CSS .class .intro 选择 class="intro" 的所有元素. 1 #id #firstname 选择 id="firstna ...

  5. 牢记 31 种 CSS 选择器用法

    原文 The 30 CSS Selectors you Must Memorize 由 Jeffrey Way 发表于 2011 年 6 月,介绍了 30 种最常用的 CSS 选择器用法,多加了一种, ...

  6. 一个容易被忽视的css选择器

    之前学的的迷糊了,也不知道什么会什么不会了,跑去面试了.别人列出一堆css选择器,本以为选择器没啥的,结果到那个多类选择器翻车了,.a.b选择同时含a,b类名的,很尴尬所以回来仔细整理了一下.目前根据 ...

  7. HTML与CSS学习记录

    title: HTML与CSS学习记录 toc: true date: 2018-09-10 14:04:59 <HTML与CSS进阶教程读书笔记> HTML基础知识 HTML与XHTML ...

  8. 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧

    记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...

  9. css选择器

    常用css选择器,希望对大家有所帮助,不喜勿喷. 1.*:通用选择器 * { margin: 0; padding: 0; } 选择页面上的全部元素,通常用于清除浏览器默认样式,不推荐使用. 2.#i ...

随机推荐

  1. 网管到CEO的10年逆袭之路

    把我个人近一年来讲的技术人员如何成长的鸡汤课整理了出来,送给大家<网管到CEO的10年逆袭之路>

  2. ubuntu中环境变量文件/etc/profile、.profile、.bashrc、/etc/bash.bashrc之间的区别和联系

    一 /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.所以如果你有对/etc/pr ...

  3. MySQL基础整理(一)之SQL基础(未完成)

    大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...

  4. vue 关于vue.set的学习笔记

    vue新手小白,在看vue文档的时候 发现vue关于 数组,对象值改变的与 ng有那么点不同. 官方表示 由于 JavaScript 的限制,Vue 不能检测以下变动的数组: 当你利用索引直接设置一个 ...

  5. mybatis框架(3)---SqlMapConfig.xml解析

    SqlMapConfig.xml SqlMapConfig.xml是Mybatis的全局配置参数,关于他的具体用的有专门的MyBatis - API文档,这里面讲的非常清楚,所以我这里就挑几个讲下: ...

  6. Linux编程 23 shell编程(结构化条件判断 命令if -then , if-then ... elif-then ...else,if test)

    一.概述 在上一篇里讲到了shell脚本,shell按照命令在脚本中出现的顺序依次进行处理,对于顺序操作已经足够了,但许多程序要求对shell脚本中的命令加入一些逻辑流程控制,这样的命令通常叫做 结构 ...

  7. 如何用chrome注册版权登记系统

    版权登记系统的网址: http://apply.ccopyright.com.cn/goadatadic/registergetList.do 打开网站,一股古朴的气息扑面而来,嗯,一看就是IE时代的 ...

  8. 大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

    微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...

  9. 在IT行业获得成功 你只需一项技能[转]

    能同时使用五种编程语言(包括一种机器语言)?不是. 项目管理能力,再高就是获得PMP认证?也不是. 超强的口才和书面沟通能力,正如工作职位中描述的那样?这不是痛点,但可以学习. 我曾经与最好的IT专业 ...

  10. MyBatis源码解析(十)——Type类型模块之类型处理器TypeHandler

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6715063.html 1.回顾 之前的两篇分别解析了类型别名注册器和类型处理器注册器,此二 ...