这篇文章主要用于存储CSS以及CSS3的选择器部分知识,以便日后查阅及记忆.


该内容分为两部分,第一部分为css选择器的一些基本知识。第二部分为CSS3新增加的选择器。

在开始之前,先简单介绍一下选择器,选择器的作用就是定位我们想要样式化的网页HTML元素。选择器可以分为以下几种类型。

1、简单选择器,通过元素类型,class或id匹配一个或多个元素。

2、属性选择器,通过属性/属性值 匹配一个或多个元素。

3、伪类,匹配处于确定状态的一个或多个元素。(比如鼠标指针悬停的元素、当前被选中或未被选中的复选框、元素是DOM树中一父节点的第一个子节点等)

4、伪元素,匹配处于相关的确定位置的一个或多个元素。(例如每个段落的第一个字,或者某个元素之前生成的内容)

5、组合器,这里不仅仅是选择器本身,还有以有效的方式组合两个或者更多的选择器用于非常特定的选择的方法。

6、多用选择器,这些也不是单独的选择器。这个思路是将以逗号分隔开的多个选择器放在一个CSS规则下面, 以将一组声明应用于由这些选择器选择的所有元素。

那么下面就具体的选择器来一一做一定的解释,有不足的地方还希望不吝赐教。嘿嘿。

一.基本选择器:

     1:*,通配符,匹配所有元素。

  1. *{
  2. padding:;
  3. margin:;
  4. }
  5.  
  6. /*个人建议,请不要在你的CSS代码中出现通配符,通配符(*)是一种效率极低甚至会有在大型网站中使用导致页面渲染变慢的可能。所以,请尽可能的不要使用。*/

    2:#id,id选择器,匹配所有id属性为"id"的元素,id属性具有唯一性。

  1. #text {
  2. font-size: 16px;
  3. }
  4. /*一个ID名称在文件中必须是唯一的,若是ID名称重复,则可能会出现不可预知的情况,所以一定要避免ID名称的重复*/

    3:.class,class选择器,匹配所有class属性中包含"class"的元素。文档中的多个元素可以具有相同的类名,而单个元素可以有多个类名(以空格分开多个类名的形式书写)

  1. .demo{
  2. width: 100px;
  3. height: 100px;
  4. background: red;
  5. }

    4:E(element),标签选择器,匹配所有使用E标签的元素。

  1. span{
  2. color: red;
  3. background: pink;
  4. font-style: 20px;
  5. }

二.多元素组合选择器:

    5:E,F,多元素选择器,匹配所有E元素和F元素,E和F之间用逗号(,)分隔。

  1. span,p,div{
  2. color: red;
  3. background: pink;
  4. font-style: 20px;
  5. }

    6:E F,后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔。

  1. .demo .text{
  2. color: gray;
  3. }

    7:E > F,子元素选择器,匹配所有E元素的子元素F。

  1. .demo>.text{
  2. color: gray;
  3. }

    8:E + F,毗邻元素选择器,匹配所有紧随E元素之后的同级元素F。

  1. .demo + .text{
  2. color: gray;
  3. }

三.属性选择器:

    9:E[att],匹配所有具有att属性的E元素,不考虑它的值。(E在此处可以省略,如“[checked]”,下同)

  1. [title]{
  2. color:red;
  3. }

    10:E[att=val],匹配所有att属性等于"val"的元素。

  1. [title=name]{
  2. border:5px solid blue;
  3. }
  4. img[title=bgimg]{
  5. width:100px;
  6. height:100px;
  7. }

    11:E[att~=val],匹配所有att属性具有多个空格分隔的值、其中一个值等于"val"的E元素。

  1. [title~=hello]{
  2. color:red;
  3. }

    12:E[att |= val],匹配所有att属性具有多个连字号分隔(hyphen-separated)的值、其中一个值以"val"开头的E元素。(主要用于lang属性,比如"en"、"en-us"、"en-gb"等等)

  1. [lang|=en] {
  2. color:red;
  3. }

四.伪类选择器:

    13:E:first-child,匹配父元素的第一个子元素。

  1. .demo:first-child{
  2. color: pink;
  3. }

    14:E:link,匹配所有未被点击的链接。

  1. .demo:link{
  2. font-weight: ;
  3. }

    15:E:visited,匹配所有已被点击的链接。

  1. .demo:visited{
  2. font-weight: ;
  3. }

    16:E:active,匹配鼠标已经在其上按下,还没有释放的E元素。

  1. .demo:active{
  2. font-weight: ;
  3. }

    17:E:hover,匹配鼠标悬停其上的E元素。

  1. .demo:hover{
  2. color: orange;
  3. font-weight:;
  4. }

    18:E:focus,匹配获得当前焦点的E元素。

  1. input:focus{
  2. color:red;
  3. }

    19:E:lang(c),匹配lang属性等于c的元素。

  1. html:lang(zh){
  2. color:lime;
  3. background:red;
  4. }
  5. :lang(en) > span{
  6. color:pink;
  7. }

五.伪元素选择器:

    20:E:first-line,匹配E元素的第一行。

  1. .demo:first-line{
  2. color:red;
  3. }

    21:E:first-letter,匹配E元素的第一个字母。

  1. .demo:first-letter{
  2. font-weight: border;
  3. }

    22:E:before,在E元素之前插入生成的内容。

  1. .num:before{
  2. content:"(" attr(href) ")",
  3.  
  4. }

    23:E:after,在E元素之后插入生成的内容。

  1. .clearfix:after {
  2. content: "";
  3. display: block;
  4. height: ;
  5. clear: both;
  6. }
  7. /*after清除浮动,这里只对after和before的选择器写法做一个简单说明,并不具体涉及属性及其用法*/

最后想说,这些东西只是简单的罗列和解释,算是方便在使用的时候快速查找,如果想要更深入的了解还需要的更多的练习和代码量,就算是最基本的选择器知识,其实也要比这些多得多。只是还有很多用处并不是特别多,比如上面的E:lang(c),E:visited,E:active等,还有很多未写在文章内的,如果想要更深入的学习,大家可以去下面的相关链接查看。

参考:css选择器笔记30个你必须熟记的css选择器MDN-docs-选择器介绍,HTML5和CSS3权威指南(第3版下册-庐陵牛)第十九章,before和after伪元素的用法

CSS(CSS3)选择器(1)的更多相关文章

  1. CSS(CSS3)选择器(2)

    该部分主要为CSS3新增的选择器 接上一篇 CSS(CSS3)选择器(1) 一.通用兄弟选择器: 24:E ~ F,匹配任何E元素之后的同级F元素. div ~ p{ background-color ...

  2. CSS/CSS3

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

  3. CSS属性、伪类选择器,CSS3选择器

    CSS1时IE6是部分支持,伟大的IE6!CSS2时IE6部分支持,伟大的IE6依旧是部分支持!CCS3盛行CSS4也已经提上日程的现在,IE6完全不支持.IE6你该走了,我们会永远记住你的功绩的!I ...

  4. 总结30个CSS3选择器

    或许大家平时总是在用的选择器都是:#id  .class  以及标签选择器.可是这些还远远不够,为了在开发中更加得心应手,本文总结了30个CSS3选择器,希望对大家有所帮助. 1 *:通用选择器 ;; ...

  5. CSS的选择器

    <div id="demo"> <div class="inner"> <p><a href="#" ...

  6. 总结30个CSS3选择器(转载)

    或许大家平时总是在用的选择器都是:#id  .class  以及标签选择器.可是这些还远远不够,为了在开发中更加得心应手,本文总结了30个CSS3选择器,希望对大家有所帮助. 1 *:通用选择器 * ...

  7. css3 选择器(三)

    接css3选择器(一) 接css3 选择器(二) 这篇和前两篇内容相关性不大,主要是涉及到一些css3的状态选择器,所以标题从一开始. 一.[:enabled]选择器 一看这个属性就知道是专为表单元素 ...

  8. CSS/CSS3常用样式小结

    1.强制文本单行显示: white-space:nowrap; 多行文本最后省略号: display: -webkit-box; -webkit-line-clamp:2; overflow: hid ...

  9. CSS3选择器介绍

    1.css3属性选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

随机推荐

  1. 老司机教你在windows不用软件隐藏重要文件

    每个人电脑里面都有些秘密,但是别人需要使用你的电脑时,有可能会看到,但是我们又不想让别人发现时,我们可以将其隐藏,那么别人就不会看到了.360文件保险柜.腾讯电脑管家等等.使用软件繁琐软件过大还会拖慢 ...

  2. 阿里舆情︱舆情热词分析架构简述(Demo学习)

    本节来源于阿里云栖社区,同时正在开发一个舆情平台,其中他们发布了一篇他们所做的分析流程,感觉可以作为案例来学习.文章来源:觉民cloud/云栖社区 平台试用链接:https://prophet.dat ...

  3. 一句python,一句R︱模块导入与查看、数据读写出入、数据查看函数、数据类型、遍历文件

    先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. pandas中有类似R中的read.table的功能,而 ...

  4. Linux 的进程状态

    (1)运行:当一个进程在处理机上运行时,则称该进程处于运行状态.处于此状态的进程的数目小于等于处理器的数目,对于单处理机系统,处于运行状态的进程只有一个.在没有其他进程可以执行时(如所有进程都在阻塞状 ...

  5. 图像处理------透明混合 - Alpha Blending效果

    基本原理: 图像的透明混合有个专属名词– Alpha Blending 对任意两张图像可以合成为一张图像,合成图像的像素取值根据数学公式: RGB3 = (1- a) * RGB1 + a * RGB ...

  6. JavaScript通过ID和name设置样式

    JavaScript通过ID和name设置样式 1.说明 (1)根据所提供的元素的id值,返回对该元素的引用或节点 document.getElementById("tr_th") ...

  7. 芝麻HTTP:Flask的安装

    Flask是一个轻量级的Web服务程序,它简单.易用.灵活,这里主要用来做一些API服务. 1. 相关链接 GitHub:https://github.com/pallets/flask 官方文档:h ...

  8. require()的工作流程

    require()的工作流程 当require()里传递一个参数x时,会有以下情况: x是一个文件 x是一个路径 eg. 当x为/home/dk/project/app 依次搜索以下的node_mod ...

  9. 弹出层罩子html(上传照片弹出请等待后面的代码不能修改)

    一,效果 二,素材 三,代码 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> ...

  10. 【CF235C】Cyclical Quest(后缀自动机)

    [CF235C]Cyclical Quest(后缀自动机) 题面 洛谷 题解 大致翻译: 给定一个串 然后若干组询问 每次也给定一个串 这个串可以旋转(就是把最后一位丢到最前面这样子) 问这个串以及其 ...