CSS选择器备忘录

  1. 基本选择器

    Selector Meaning Example
    通用选择器 匹配任何元素 *
    标签选择器 CSS1中称之为元素选择器,匹配为指定标签的所有元素 div
    伪元素选择器 匹配元素内容中的指定部分,选择器E可省略 E::first-line
    类选择器 匹配class属性中包含指定类的元素 .warning
    伪类选择器 匹配满足某种状态或是符合某种逻辑的元素,选择器E可省略 E:hover或E:first-child
    id选择器 匹配id属性为指定名称的元素 #content
  2. 属性选择器

    Selector Meaning Example
    E[att] 匹配满足选择器E的元素的满足选择器F且具有att属性的元素,与属性att值无关;E可省略,下同 p[class]
    E[attr="val"] 匹配满足选择器E且att属性值为"val"的元素 p[class~="warning"]
    E[attr~="val"] 匹配满足选择器E且att属性中有一个值为"val"的元素 p[class~="warning"]
    E[attr^="sub"] 匹配满足选择器E且att属性中有一个值为"sub"开头的元素 p[class^="test-"]
    E[attr$="sub"] 匹配满足选择器E且att属性中有一个值为"sub"结尾的元素 a[href$=".pdf"]
    E[attr*="sub"] 匹配满足选择器E且att属性中有一个值包含"sub"的元素 div [class*="port"]
    E[lang|="val"] 匹配满足选择器E且其lang属性的值为指定val开头的元素, html[lang|="en"]

    注:lang属性允许开发者为不同的语言定义特殊的规则,语言代码和国家地区对照表详见https://www.cnblogs.com/Robert-huge/p/5481515.html

  3. 组合选择器

    Selector Meaning Example
    E F 匹配满足选择器E的元素的所有满足选择器F的内部元素 body h1
    E>F 匹配满足选择器E的元素的满足选择器F的直接子元素 ul > li
    E+F 匹配满足选择器E的元素的下一个兄弟元素,且该元素要满足选择器F h1 + *
    E~F 匹配满足选择器E的元素后面所有满足选择器F的兄弟元素 h1 ~ h2

注:E,F表示匹配满足选择器E或是选择器F的元素,没有将E,F算入组合选择器,因为它完全可以拆分成多个基本选择器或属性选择器,只能算是CSS提供的一种为了减少冗余编码的编码方式。

延伸阅读

[1] 选择器的优先级相关内容详见CSS中的样式层叠机制Cascade

[2] 伪类和伪元素的分析比较详见伪类与伪元素的区别

参考资料

[1] CSS Pocket Reference

[2] CSS选择器笔记

CSS选择器备忘录的更多相关文章

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

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

  2. css选择器

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

  3. dynamic-css 动态 CSS 库,使得你可以借助 MVVM 模式动态生成和更新 css,从 js 事件和 css 选择器的苦海中脱离出来

    dynamic-css 使得你可以借助 MVVM 模式动态生成和更新 css,从而将本插件到来之前,打散.嵌套在 js 中的修改样式的代码剥离出来.比如你要做元素跟随鼠标移动,或者根据滚动条位置的变化 ...

  4. CSS选择器的权重与优先规则?

    我们做项目的时候,经常遇到样式层叠问题,被其他的样式覆盖,或者写的权重不高没效果,对权重没有具体的分析,做了一个总结. css继承是从一个元素向其后代元素传递属性值所采用的机制.确定应当向一个元素应用 ...

  5. css选择器的使用详解

    -.css选择器的分类: 二.常用选择器详解: 1.标签选择器: 语法: 标签名 { 属性:属性值; } 代码示例: h1 { color: #ccc; font-size: 28px; } 2.类选 ...

  6. js,jq,css选择器

    js获取节点: var chils= s.childNodes; //得到s的全部子节点 var par=s.parentNode; //得到s的父节点 var ns=s.nextSbiling; / ...

  7. CSS系列:CSS选择器

    选择器(selector)是CSS中很重要的概念,所有HTML语言中的标记样式都是通过不同的CSS选择器来控制的.用户只需要通过选择对不同的HTML标签进行选择,并赋予各种样式声明,即可实现各种效果. ...

  8. 细说CSS选择器

    众所周知,CSS的一个核心特征就是能向文档中的一组元素类型应用某些规则.每个规则都有两个基本部分:选择器(selector)和声明块(declaration block).下图显示了规则的各个部分. ...

  9. CSS选择器 转

    来自于:http://www.cnblogs.com/webblog/archive/2009/08/07/1541005.html 最近在研究jQuery的选择器,大家知道jQuery的选择器和cs ...

随机推荐

  1. 在Mvc中,ExpandoObjec类的使用

    创建一个基本mvc项目 1.向Models目录下添加一个类文件MyModel.cs文件,代码如下: using System; using System.Collections.Generic; us ...

  2. springboot整合mybatis,redis,代码(五)

    redis注解开发过程中包含许多注解 1.@Cacheable 可以标记在方法上,也可以标记在类上.当标记在方法上时表示该方法是支持缓存的,当标记在类上时则表示该类所有的方法都是支持缓存的.应用到读取 ...

  3. innodb的读写参数优化

    (1)    读取参数,global buffer pool以及 local buffer Innodb_buffer_pool_size,理论上越大越好,建议服务器50%~80%,实际为数据大小80 ...

  4. php 常见递归实例

    //计算数组{1,1,2,3,5,8.......} 第n位值 function Process1($i){ if ($i == 0) return 0; if ($i == 1) return 1; ...

  5. django导入 views.py

    网上找了各种教程..均无解....自己摸索出来了..分享 给大家... 首先INSTALLED_APP 加入 自己的 app pili,然后如下图 from App名称 import views 就 ...

  6. linux dns高速缓存

    1.安装部署dns yum install bind -y systemctl start  named systemctl  enable  named systemctl  stop  firew ...

  7. Go语言基础之19--web编程基础

    一.web编程基础 1.1 web工作方式 1.2 HTTP协议详解 a.http 请求包体 GET /domains/example/ HTTP/1.1 //请求行: 请求方法 请求URI HTTP ...

  8. Python 错误总结

    1.以一种访问权限不允许的方式做了一个访问套接字的尝试. 解决方法:这个问题缘由是有端口被占用

  9. Python 初识爬虫-**机场出港业务

    # -*- coding:utf-8 -*- from lxml import etree import requests ##先进单页测试,然后在进行多页循环 没有解决的问题,动态解决最大页数,目前 ...

  10. thinkPHP5.0获取器获取原始数据

    如果你定义了获取器的情况下,希望获取数据表中的原始数据,可以使用:$cate = Cate::get(1);// 通过获取器获取字段echo $cate->type;// 获取原始字段数据ech ...