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. 解决:Angular-cli:执行ng-build --prod后,dist文件里无js文件、文件未压缩等问题

    Angular2.0于2016年9月上线,我于9月入坑. 入坑以来,一直让我很困惑的问题 1.angular-cli是个什么鬼东西? 2.为什么我们自己的资源文件还没写什么,就有起码50多个js文件加 ...

  2. VMWare File Format Learning && Use VHD File To Boot VMWare && CoreOS Docker Configuration And Running

    目录 . Virtual Machine Introduce . Vmware Image File Format . VHD File Format . Convert VHD File Into ...

  3. Nginx Installation、Configuration、Rreverse Proxy、Load Balancing Learning

    目录 . Nginx简介 . Nginx安装部署 . Nginx安全配置 . Nginx反向代理实践 . Nginx负载均衡实践 1. Nginx简介 0x1: Nginx的基本特性 Nginx(&q ...

  4. UvaLive 5026 Building Roads

    传送门 Time Limit: 3000MS Description There is a magic planet in the space. There is a magical country ...

  5. SPOJ Pouring Water

    传送门 POUR1 - Pouring water #gcd #recursion Given two vessels, one of which can accommodate a litres o ...

  6. 深入浅出Redis01安装

    一 什么是Redis? Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis是一个高性能的Key-Va ...

  7. 代码注册广播接收者&利用广播调用服务的方法服务声命周期(混合开启)

    1)说明文档: 2)效果演示: 3)代码演示:

  8. Android 获取本地图片

    MainActivity.java public class RegisterActivity extends AppCompatActivity { private ImageView iv; @O ...

  9. 牛顿迭代法求n方根

    一.简单推导 二.使用 借助上述公式,理论上可以求任意次方根,假设要求a(假设非负)的n次方根,则有xn=a,令f(x)=xn-a,则只需求f(x)=0时x的值即可.由上述简单推导知,当f(x)=0时 ...

  10. event.keycode值大全

    window.event.keycode-获取按下的键盘值   event.keycode值大全1 keycode 8 = BackSpace BackSpace 2 keycode 9 = Tab ...