CSS的选择符有很多,大致分为八种:

      • 通配选择符
      • 元素选择符
      • 群组选择符
      • 关系选择符
      • id及class类选择符
      • 伪类选择符
      • 属性选择符
      • 伪对象选择符

  1.通配选择符:

    可以使用模糊指定的方式来对对象进行选择。  

* {
color:blue;
background-color:red;
}

  2.元素选择符:

    指以网页中已有的标签名作为名称的选择符。  

h1{
color:red;
}

  3.群组选择符:

    对一组标签进行相同的样式定义。

                h1,p{
font-size:30px;
font-family:"微软雅黑";
color:#333;
}

  4.关系选择符:

    • 包含选择符(E F)
        选择所有被E元素包含的F元素。

      .son1 a{color:blue;}
    • 子选择符(E>F)
        选择所有作为E元素的子元素F。
      .son1>a{color:red;}
    • 相邻选择符(E+F)
            选择紧贴在E元素之后的F元素。
      .son1+div{color:green;}
    • 兄弟选择符(E~F)
            选择E元素所有的兄弟元素F。
      .son1~div{color:yellow;}

      效果图:

  5.id及class类选择符:

    id选择符:

      可以为标有特定id的HTML元素指定特定的样式,以"#"来定义,每一个id名称只能使用一次,不得重复。

      

#p1{
font-size:12px;
font-weight:bold;
}

    class选择符:

      与Id选择符不同,class可以重复使用,将多个元素使用同一个样式定义。

.p1{
font-size:12px;
font-weight:bold;
}

  6.伪类选择符

    • E:link              ——设置元素E在未被访问前的样式
    • E:visited             ——设置元素E在已被访问后的样式
    • E:hover               ——设置元素E在其鼠标悬停时的样式
    • E:active              ——设置元素E在被用户激活时的样式
                  a{text-decoration: none;}
      a:link{color:red;}
      a:hover{color:green;}
      a:active{color:blue;}
      a:visited{color:purple;}

      效果是a标签在未访问前是红色,鼠标悬停时是绿色,鼠标点击时是蓝色,访问后时紫色。

    • E:focus             ——设置元素成为输入焦点时的样式
                  input:focus{background-color: blue;}

      效果是文本框在成为输入焦点时背景变为蓝色。

    • E:lang(fr)            ——匹配使用特殊语言的元素E
    • E:not(s)              ——匹配不含s选择符的元素E
    • E:root                 ——匹配元素E的在文档的根元素,常指html元素
    • E:first-child         ——匹配父元素的第一个子元素E
    • E:last-child         ——匹配父元素的最后一个子元素E
    • E:only-child         ——匹配父元素的仅有的一个子元素E
    • E:nth-child(n)      ——匹配父元素的第n个子元素E
    • E:nth-last-child(n)   ——匹配父元素的倒数第n个子元素E
                  li:only-child{color:red;}
      
                  li:first-child{color:red;}
      li:last-child{color:blue;}
      li:nth-child(2){color:yellow;}
      li:nth-last-child(2){color:yellow;}

      效果图:

    • E:first-of-type      ——匹配同类型中的第一个同级兄弟元素E
    • E:last-of-type      ——匹配同类型中的最后一个同级兄弟元素E
    • E:only-of-type      ——匹配同类型中的唯一的一个同级兄弟元素E
    • E:nth-of-type(n)   ——匹配同类型中的第n个同级兄弟元素E
    • E:nth-last-of-type(n) ——匹配同类型中的倒数第n个同级兄弟元素E
                  .ul3 li:only-of-type{color:red;}
      
                  li:first-of-type{color:red;}
      li:last-of-type{color:blue;}
      li:nth-of-type(2){color:yellow;}
      li:nth-last-of-type(2){color:yellow;}

      效果图:

    • E:empty               ——匹配没有任何子元素的元素E
      input:empty{border-color:red;}

      效果为背景变成红色,因为input元素没有子元素。

    • E:checked                ——匹配用户界面上处于选中状态的元素E
      input[name="love[]"]:checked+label{color:blue;background-color:red;}

    • E:enabled                ——匹配用户界面上处于可用的状态的元素E
      input:enabled{color:red;}

    • E:disabled                ——匹配用户界面上处于禁用的状态的元素E
      input:disabled{color:blue;}

    • E:target                   ——匹配相关URL指向的元素E

     

  属性选择符:

    • E[att]                    ——选择具有att属性的E元素。

      p[class]{color:green;}
    • E[att="val"]            ——选择具有att属性且属性值等于val的E元素
      p[class="qq"]{color:red;}     
    • E[att~="val"]          ——选择具有att属性且属性值为用空格分隔的字词列表,其中一个等于val的E元素
      p[class~="abc"]{color:blue;}
    • E[att^="val"]          ——选择具有att属性且属性值为以val开头的字符串的E元素。
      p[class^="aa"]{color:yellow;}       
    • E[att$="val"]          ——选择具有att属性且属性值为以val结尾的字符串的E元素。
      p[class$="abc"]{color:black;}
    • E[att*="val"]          ——选择具有att属性且属性值为包含val的字符串的E元素。
      p[class*="z"]{color:orange;}
    • E[att|="val"]       ——选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素。
      p[class|="y"]{color:#ccc;}

  伪对象选择符:

    • E::first-letter          ——设置对象内的第一个字符的样式。

      p::first-letter {font-size:20px;font-weight:bold;}
    • E::first-line            ——设置对象内的第一行的样式。
      p::first-line {color:blue;}/
    • E::before               ——设置在对象前发生的内容。用来和content属性一起使用
      p::before{content:'123';}
    • E::after                 ——设置在对象后发生的内容。用来和content属性一起使用
      p::after{content:'123';}
    • E::placeholder        ——设置对象文字占位符的样式。
       input::-webkit-input-placeholder {color: green;}
    • E::selection          ——设置对象被选择时的颜色
      p::-webkit-selection{ background-color: #E13300; color: white; }

         

       

    

CSS3的chapter2的更多相关文章

  1. 使用 HTML5、CSS3 和 MathML 在 EPUB 3 中制作版式丰富的出版物

    探索用于高级排版和印刷的新一代开放电子书标准 EPUB 3.0 是最新的行业标准 XML 电子书格式,它采用了 HTML5 和 CSS3,因而融入了现代 Web 技术.它重点关注 XML 驱动的工具包 ...

  2. 纯CSS3实现的一些酷炫效果

    之前在网上看到一些用纯CSS3实现的酷炫效果,以为实现起来比较困难,于是想看看具体是怎么实现的. 一.笑脸猫动画 实现效果如下: 这个实现起来确实比较麻烦,很多地方需要花时间,有耐心地调整. 1.先看 ...

  3. CSS3 border-radius边框圆角

    在CSS3中提供了对边框进行圆角设定的支持,可对边框1~4个角进行圆角样式设置. 目录 1. 介绍 2. value值的格式和类型 3. border-radius 1~4个参数说明 4. 在线示例 ...

  4. CSS3 3D立方体效果-transform也不过如此

    CSS3系列已经学习了一段时间了,第一篇文章写了一些css3的奇技淫巧,原文戳这里,还获得了较多网友的支持,在此谢过各位,你们的支持是我写文章最大的动力^_^. 那么这一篇文章呢,主要是通过一个3D立 ...

  5. 三分钟学会用 js + css3 打造酷炫3D相册

    之前发过该文,后来不知怎么回事不见了,现在重新发一下. 中秋主题的3D旋转相册 如图,这是通过Javascript和css3来实现的.整个案例只有不到80行代码,我希望通过这个案例,让正处于迷茫期的j ...

  6. 使用CSS3实现一个3D相册

    CSS3系列我已经写过两篇文章,感兴趣的同学可以先看一下CSS3初体验之奇技淫巧,CSS3 3D立方体效果-transform也不过如此 第一篇主要列出了一些常用或经典的CSS3技巧和方法:第二篇是一 ...

  7. Web大前端时代之:HTML5+CSS3入门系列

    准备来一波新技术,待续.... Old: 联系源码:https://github.com/dunitian/LoTHTML5 文档下载:https://github.com/dunitian/LoTD ...

  8. 07. Web大前端时代之:HTML5+CSS3入门系列~H5 地理位置

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 源码:https://github.com/duniti ...

  9. 前端制作动画的几种方式(css3,js)

    制作动态的网页是是前端工程师必备的技能,很好的实现动画能够极大的提高用户体验,增强交互效果,那么动画有多少实现方式,一直对此有选择恐惧症的我就总结一下,以便在开发的时候选择最好的实现方式. 1.css ...

随机推荐

  1. Centos7 安装codeblock( 转载)

    1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可 yum install gcc yum install gcc-c++ 2.安装gtk2-deve ...

  2. LFS初次成功+如何粘贴复制LFS命令

    搞了几次LFS,终于成功了,总算舒了一口气. 这次搞LFS用到的资料:LFS文档:http://www.ha97.com/book/lfs-book-6.6/index.html  一份简单的指导文章 ...

  3. Emgu 决策树

    MCvDTreeParams cvFolds //If this parameter is >1, the tree is pruned using cv_folds-fold cross va ...

  4. Cocos2d-x环境搭建

    资源列表 官网上下载最新的cocos2d-x-3.3. 安装JDK,Eclipse,CDT插件,ADT插件. 下载Android SDK,更新.因为国内经常访问不了google,用vpn速度也有点慢. ...

  5. Educational Codeforces Round 16 A B C E

    做题太久也有点累了..难题不愿做 水题不愿敲..床上一躺一下午..离下一场div2还有点时间 正好有edu的不计分场 就做了一下玩玩了 D是个数学题 F是个AC自动机 都没看明白 留待以后补 A 给出 ...

  6. C++和C代码互相调用是不可避免的

    C++ 编译器能够兼容C语言发编译方式 C++编译器会优先使用C++ 编译的方式 extern 关键字能强制让C++编译器进行C方式的编译 external “C” { //do C-style co ...

  7. [分享]IOS开发-简单实现搜索框显示历史记录的本地缓存及搜索历史每次只能获取到一个的解决方案

    注:原文:http://www.zhimengzhe.com/IOSkaifa/40433.html 1.首先,我们需要对进行过搜索的textField的输入内容进行一个NSUserDefaults的 ...

  8. zepto源码--核心方法5(文本操作)--学习笔记

    涉及到文本内容的主要有三个函数:html, text, val. 我们已经见过多次,一个函数多种用途的情况,今天这三个函数也不例外,既可以获取内容,也可以设置内容.判断条件就是有没有传入参数,如果没有 ...

  9. define宏定义和const常变量区别

    1.define是宏定义,程序在预处理阶段将用define定义的内容进行了替换.因此程序运行时,常量表中并没有用define定义的常量,系统不为它分配内存.const定义的常量,在程序运行时在常量表中 ...

  10. Linux Samba服务器配置

    Linux系统默认已经安装了Samba,但是没有安装Samba服务: 1,先查看安装情况:rpm -qa|grep samba 根据系统的安装情况选择下载或者通过光驱安装所缺的rpm包. 我的安装情况 ...