CSS3的属性选择器主要包括以下几种:

  • 1. E[attr^="value"]:指定了属性名,并且有属性值,属性值是以value开头的;

  • 2. E[attr$="value"]:指定了属性名,并且有属性值,而且属性值是以value结束的;

  • 3. E[attr*="value"]:指定了属性名,并且有属性值,而且属值中包含了value;

示例

.classNamea[href^="http://"]{background:orange;color:blue;}
.classNamea[href$="png"]{background:green;color:black;}
.classNamea[title*="hubwiz"]{background:black;color:white;}

CSS3选择器,或者CSS3结构类,首先列出他具有的选择方法:

  • 1. :first-child选择某个元素的第一个子元素;
  • 2. :last-child选择某个元素的最后一个子元素;
  • 3. :first-of-type选择一个上级元素下的第一个同类子元素;
  • 4. :last-of-type选择一个上级元素的最后一个同类子元素;

示例:

.classNameli:first-child {background: green; border: 1px dashed blue;}
.classNameli:last-child {background: green; border: 2px dashed blue;}
.className> p:first-of-type {background: green;} .className> p:last-of-type {background: green;}

  • 5. :nth-child()选择某个元素的一个或多个特定的子元素;

  示例:

    1. 简单数字序号写法 :nth-child(number),直接匹配第number个元素。参数number必须为大于0的整数。

如下,把第3个p的背景设为绿色:

p:nth-child(3){background:green;}

    2. 倍数写法 :nth-child(an),匹配所有倍数为a的元素。其中参数an中的字母n不可缺省,它是倍数写法的标志,如3n、5n。

如下,把第2、第4、第6、…、所有2的倍数的p的背景设为蓝色:

p:nth-child(2n){background:blue;}

  

    3. 倍数分组匹配 :nth-child(an+b)与:nth-child(an-b),先对元素进行分组,每组有a个,b为组内成员的序号,其中字母n和加号+不可缺省,位置不可调换,这是该写法的标志,其中a,b均为正整数或0。

    如下,匹配第1、第4、第7、…、每3个为一组的第1个p元素

p:nth-child(3n+1){background:orange;}

       如下,匹配第3-1=2、第6-1=5、…、第3的倍数减1个p元素

p:nth-child(3n-1){background:#33FF33;}

  

    4. 奇偶匹配 :nth-child(odd)与:nth-child(even)分别匹配序号为奇数与偶数的元素。奇数(odd)与(2n+1)结果一样;偶数(even)与(2n+0)及(2n)结果一样。

这里,我们为奇数和偶数p元素指定两种不同的背景色:

p:nth-child(odd){background:#ff0000;}
p:nth-child(even){background:#0000ff;}
  • 6. :nth-last-child()选择某个元素的一个或多个特定的子元素,从这个元素的最后一个子元素开始算;
.className p:nth-last-child(4) {background: red;}

 

  • 7. :nth-of-type()选择指定的元素;

     :nth-of-type类似于:nth-child,不同的是他只计算选择器中指定的那个元素,其实我们前面的实例都是指定了具体的元素,这个选择器主要对用来定位元素中包含了好多不同类型的元素是很有用处。

  • 8. :nth-last-of-type()选择指定的元素,从元素的最后一个开始计算;

    :nth-last-of-type(n)选择器匹配属于父元素的特定类型的第N个子元素的每个元素,从最后一个子元素开始计数(n可以是数字或公式)。

  • 9. :only-child选择的元素是它的父元素的唯一一个了元素;

    E:only-child,匹配那些是其父元素唯一子元素的E元素。简单来说就是匹配父元素中只有一个子元素的类型元素。说白了就是E元素的父级只有它本身一个子元素。

  • 10. :only-of-type选择一个元素是它的上级元素的唯一一个相同类型的子元素;

  :only-of-type是表示一个元素他有很多个子元素,而其中只有一个子元素是唯一的。

   所以我们使用这种选择器就可以选中元素的唯一子元素。

   说白了就是选择它的各类型子元素中个数只有一个的那一类

div :only-of-type{
background-color: green;
}

  

  • 11. :empty选择的元素里面没有任何内容。

  empty是用来选择没有任何内容的元素,这里没有内容指的是一点内容都没有,哪怕是一个空格。

css3学习总结1--CSS3选择器的更多相关文章

  1. CSS3学习笔记(3)-CSS3边框

    p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...

  2. CSS3学习笔记(1)-CSS3选择器

    p{ font-size: 15px; text-indent: 2em; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid ...

  3. CSS3学习笔记(4)-CSS3函数

    p{ font-size: 15px; text-indent: 2em; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid ...

  4. HTML5移动开发学习笔记之CSS3基础学习

    CSS回顾 在学CSS3之前首先巩固下CSS的基础知识. 1.CSS框模型 举例子: #box { width: 70px; margin: 10px; padding: 5px; } 这个代码将出现 ...

  5. CSS3学习笔记1-选择器和新增属性

    前言:之前自学了一些关于CSS3的知识,在学习过程中也遇到过坑,不过总算磕磕绊绊的学习完了关于CSS3的相关知识,于是最近把之前的笔记和代码整理了一下,也算是一个对CSS3知识的回顾复习吧,也希望能够 ...

  6. HTML5+CSS3学习笔记(一)

    HTML5+CSS3概述 HTML5和CSS3不仅仅是两项新的Web技术标准,更代表了下一代HTML和CSS技术.虽然HTML5的标准规范还没有正式发布,但是未来的发展前景已经可以预见,那就是HTML ...

  7. css和css3学习

    css和css3学习 css布局理解 css颜色大全 样式的层叠和继承 css ::before和::after伪元素的用法 中文字体font-family常用列表 cursor属性 css选择器 F ...

  8. css3学习笔记三

    css3有些特殊的元素选择器这和jquery相似.效果图如下

  9. HTML5+CSS3学习笔记(一) 概述

    HTML5+CSS3概述      HTML5和CSS3不仅仅是两项新的Web技术标准,更代表了下一代HTML和CSS技术.虽然HTML5的标准规范还没有正式发布,但是未来的发展前景已经可以预见,那就 ...

  10. HTML5与CSS3权威指南之CSS3学习记录

    title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...

随机推荐

  1. BZOJ1036 树的统计

    Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w.我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. Q ...

  2. JSP业务逻辑层

    经典的三层架构:表示层.业务逻辑层和数据访问层 具体的区分方法 1:数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作.而不必管其他操作. 2:业务逻辑 ...

  3. hihocoder 1196 高斯消元.二

    传送门 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在上一回中,小Hi和小Ho趁着便利店打折,买了一大堆零食.当他们结账后,看到便利店门口还有其他的活动. 店主:买了 ...

  4. LABJS使用教程

    知道LABJS这个概念其实早于sea.js,但因为sea.js是中文,并且第一眼就喜欢上sea.js的CommonJS所以并没有深入了解过LABJS. 在使用sea.js的时候不可避免的碰到js文件依 ...

  5. 初学Struts2-自定义拦截器及其配置

    自定义拦截器,首先新建一个继承自AbstractInterceptor类的类,然后重写intercept方法,代码如下 public class HelloInterceptor extends Ab ...

  6. afasf

    http://www.cnblogs.com/ttzhang/archive/2008/11/02/1324601.html project server 2007 sn :W2JJW-4KYDP-2 ...

  7. mysql 权限设置

    1.“grant all on *.* to root@'%' identified by 'yourpassword';”——这个还可以顺带设置密码.2.“flush privileges; ”—— ...

  8. 【原创】angularjs1.3.0源码解析之scope

    Angular作用域 前言 之前我们探讨过Angular的执行流程,在一切准备工作就绪后(我是指所有directive和service都装载完毕),接下来其实就是编译dom(从指定的根节点开始遍历do ...

  9. C#面向对象面试题集锦

    1.简述C#中的虚方法 答:注意:当使用virtual关键字修饰符后,不允许再同时使用abstract,static,或override关键字进行修饰 使用virtual关键字修饰的方法就是虚方法,虚 ...

  10. IOS: 使用imageIO获取和修改图片的exif信息

    使用imageIO获取和修改图片的exif信息 一幅图片除了包含我们能看见的像素信息,背后还包含了拍摄时间,光圈大小,曝光等信息.UIImage类将这些细节信息都隐藏了起来,只提供我们关心的图片尺寸, ...