1、属性选择器

  属性选择器,可以根据元素特定的属性来选择元素,这样就不用借助 类 或者 id选择器。

  E [ att ]   选择具有 att 属性的 E 元素   例如:input [ value ]

  E [ att = 'val' ]   选择具有 att 属性且属性值等于 val 的 E元素

  E [ att = 'val' ]   选择具有 att 属性且属性值等于 val 的 E元素

  E [ att ^= 'val' ]   选择具有 att 属性且属性值以 val 开头的 E元素

  E [ att $= 'val' ]   选择具有 att 属性且属性值以 val 结尾的 E元素

  E [ att *= 'val' ]   选择具有 att 属性且属性值含有 val 的 E元素

  注意:类选择器,属性选择器,伪类选择器 权重都是 10

2、结构伪类选择器(一般用于选择父级里面的第几个孩子)

  父元素  E:first-child    父元素中的第一个子元素 E

  父元素  E:last-child    父元素中的最后一个子元素  E

  父元素  E:nth-child( n )     父元素中的第 N 个子元素 E

  注意:

   ul  :first-child{ color:pink; }  // 选择  ul 下的第一个子元素( 第一个子元素可以使 div,p,span任何子元素)

   ul  li:first-child{ color: pink; }   //  选择  ul 下的第一个元素名是 li  的子元素

  nth-child( n ) 注意点:(n 可以是数字,关键字和公式)

  数字:选择第 n 个子元素,里面数字从 1 开始

  关键字: even 偶数,odd 奇数

   ul  li:nth-child( even )  //  选择 ul 中所有 偶数行的 li 子元素

  公式:常见公式如下(如果 n 是公式,则从 0 开始计算,但是第 0 个元素 或者超出了元素的个数会被忽略)

   ul  li:nth-child( n )   // 从 0 开始 每次加1 往后计算,相当于选择了所有的孩子    这里面必须是 n 不能是其他字母

  偶数:2n          奇数:2n+1          5的倍数:5n           从第5个开始(包含第5个)到最后:n+5          前5 个(包含第5 个):-n + 5

  E:first-of-type:指定类型 E 的第一个

  E:last-of-type:指定类型 E 的最后一个

  E:nth-of-type( n ):指定类型 E 的第 n 个

  区别:(两种相反的查找模式)

   1. nth-child 对父元素里面所有孩子排序选择(序号是固定的)先找到第 n 个孩子,然后看看是否和 E 匹配

   2. nth-of-type  对父元素里面指定子元素进行排序选择。先去匹配 E ,然后再根据 E 找第 n 个孩子

3. 伪元素选择器(重点)  

  伪元素选择器 可以帮助我们 利用 css 创建新标签元素,而不需要 HTML 标签,从而简化 HTML 结构

  :: before    在元素内部的前面插入内容

  :: after      在元素内部的后面 插入内容

  注意:

  before 和 after 创建一个元素,但是属于行内元素

  新创建的这个元素在文档树种是找不到的,所以我们称为伪元素

  语法:element::before{ }

  before 和 after 必须有 content 属性

  before 在父元素内容的前面创建元素,after 在父元素内容的后面插入元素

  伪元素选择器 和 标签选择器一样,权重为 1

4、结构伪类

 :target    表示对当前活动窗口的控制

CSS3新增(选择器{属性选择器,结构伪类选择器,伪元素选择器})的更多相关文章

  1. 妙味css3课程---1-2、css3中新增的伪类和伪元素有哪些

    妙味css3课程---1-2.css3中新增的伪类和伪元素有哪些 一.总结 一句话总结: 1.div:target{}是什么意思? 比如a标签的锚点链接到div,div:target{}就可以找到这个 ...

  2. css伪选择器使用总结——css中关于伪类和伪元素的知识总汇

    CSS 伪类用于向某些选择器添加特殊的效果,而CSS引入伪类和伪元素的概念是为了实现基于文档树之外的信息的格式化.这里讲总结关于css伪类和伪元素的相关使用 伪元素 :before/:before 在 ...

  3. 以css伪类为基础,引发的选择器讨论 [新手向]

    作为第一篇技术干货,来写哪个方面的内容,我着实考虑了很久. 经过了整整30秒的深思熟虑,我决定就我第一次发现新大陆一样的内容,来进行一次讨论. 伪类:伪类对元素进行分类是基于特征(characteri ...

  4. CSS样式表及选择器相关内容(二)-伪类与伪元素选择器

    伪类与伪元素选择器归纳: 一.伪类选择器(伪类以":"开头,用在选择器后,用于指明元素在某种特殊的状态下才能被选中)    1.a标签伪类选择器,其他标签类似        eg: ...

  5. 【CSS】伪类和伪元素选择器

    伪类 基于当前元素所处的状态或具有的特性,用于设置元素自身的特殊效果. a:link  规定所有未被点击的链接: a:visited  匹配多有已被点击过的链接: a:active  匹配所有鼠标按下 ...

  6. CSS 属性 - 伪类和伪元素的区别

    伪类和伪元素皆独立于文档结构.它们获取元素的途径也不是基于id.class.属性这些基础的元素特征,而是在处于特殊状态的元素(伪类),或者是元素中特别的内容(伪元素).区别总结如下: ①写法不一样: ...

  7. css3 -- 伪类与伪元素

    伪类: 1.结构伪类 A:E : first-child{} E : nth-*(n){} E : first-*(even){}  E : first-*(odd){} B:nth-child 是根 ...

  8. 《转载》详解 CSS 属性 - 伪类和伪元素的区别

    首先,阅读 w3c 对两者的定义: CSS 伪类用于向某些选择器添加特殊的效果. CSS 伪元素用于将特殊的效果添加到某些选择器. 可以明确两点,第一两者都与选择器相关,第二就是添加一些“特殊”的效果 ...

  9. css3的伪(伪类和伪元素)大合集

    本文讲css3的伪,不是讲它有多虚伪,而是说它的伪元素样式.不得不说以前虽知html伪元素,但很少用,后得知借助css3伪元素可以发挥极大的便利.故总结css3的伪如下: CSS中存在一些比较特殊的属 ...

  10. CSS3伪类和伪元素的特性和区别

    前端er们大都或多或少地接触过CSS伪类和伪元素,比如最常见的:focus,:hover以及<a>标签的:link.visited等,伪元素较常见的比如:before.:after等. 其 ...

随机推荐

  1. 微软宣布加入 OpenJDK 项目

    近日,微软的 Bruno Borges 在 OpenJDK 邮件列表中发布了一条消息,内容包含接下来发生的事情以及微软如何开始将其团队整合到 OpenJDK 社区.在邮件中,Bruno Borges ...

  2. 【知识强化】第六章 查找 6.4 散列(Hash)表

    本节课我们来学习一种新的查找方式叫做散列查找.什么是散列查找呢?在学习散列查找之前,一定要介绍一个基本概念就是散列表.那么学习散列表之前我们先来回忆一下之前所学习过的所有查找方式,那么无论是顺序查找还 ...

  3. 2018-11-3-如何使用-Telegram

    title author date CreateTime categories 如何使用 Telegram lindexi 2018-11-03 10:12:12 +0800 2018-02-21 1 ...

  4. JAXB中的@XmlRootElement注解详解

    @Retention(value=RUNTIME) @Target(value=TYPE) public @interface XmlRootElement @Inherited @Retention ...

  5. 每天一个linux命令:touch(9)

    touch touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来:二是用来创建新的空文件 格式 touch [选项] [文件] 参数 ...

  6. while循环语句基础

    while循环语句基础 一while循环语句介绍 循环语句命令常用于重复执行一条指令或一组指令,直到条件不再满足时停止,   Shell脚本语言的循环语句常见的有while, until, for及s ...

  7. jdbc 可处理数据库事物的通用增删查改函数

    首先弄清四种隔离级别的和三种数据并发 之间的关系 通用查询函数 //使用PreparedStatement实现对不同表的通用的返回一个对象的查询操作 //使用泛型机制,参数里先传入一个类的类型 pub ...

  8. Android学习--apk打包过程

    1. 使用aapt工具,给所有的res目录下的资源文件生成对应的id,id会被放进R.java文件中 2. JavaC编译器,将所有Java文件转换为Class文件,其中,内部类会分别生成.class ...

  9. 无法在要求对象展开的函数中使用 __try

    解决方案: 单独把try里面的代码封装成一个函数,然后再在try里面调用

  10. 解决:The “https://packagist.laravel-china.org/packages.json” file could not be downloaded

    使用composer安装错误提示: The "https://packagist.laravel-china.org/packages.json" file could not b ...