1.1.基本选择器

  • 通配符选择器(*)
          通配符选择器的使用方法如下

    *{margin:0px; padding:0px;} //*代表所有的
  • ID选择器(#)
      
    ID选择器的使用方式如下:
    *#intro {font-weight:bold;}//也可以省略通配符 
     #intro{font-weight:bold;} //两种方式是一样的。

    不同于其他选择器,id选择器有以下特点
     规范: 同一个id,在一个网页中只能标注一个元素。
      如果有同名id ,则在CSS中用ID选择器时,依旧会匹配所有的同名id元素。只是这么使用的时候会有以下的弊端:
                  1.不符合规范,因为规范要求的是一个id只能被一个元素使用。
                  2.语义的二义性。一般id我们都是作为标示符使用的,一个id只能用来标注一个元素。
                  3.在JS DOM(getElementById)操作或者是jquery("#xx")选择页面中元素时,返回的仅是第一个被找到的素。

  • 类选择器(.)
        类选择器使用比较简单,使用方式如下:

    *.important {color:red;}   //第一种使用方式
     .important {color:red;}  //第二种使用方式,推荐第二种
  • 属性选择器([])
     
         属性选择器用来选择指定属性的 HTML 元素。使用方式如下:
    [title]{ color:red; }  //为带有 title 属性的所有元素设置样式:
    
    [title~=hello] { color:red; }//为包含指定值的 title 属性的所有元素设置样式
    
    属性选择器一览表
    选择器 描述
    [attribute] 用于选取带有指定属性的元素。
    [attribute=value] 用于选取带有指定属性和值的元素。
    [attribute~=value] 用于选取属性值中包含指定词汇的元素。
    [attribute|=value] 用于选取带有以指定值开头的属性值的元素,该值必须是整个单词。
    [attribute^=value] 匹配属性值以指定值开头的每个元素。
    [attribute$=value] 匹配属性值以指定值结尾的每个元素。
    [attribute*=value] 匹配属性值中包含指定值的每个元素。
     ========================================================================================================================
       在属性选择器中 [attribute~=value] 与 [attribute*=value] , [attribute|=value] 与 [attribute^=value] 的用法 在描述上很相似,很容易混淆:
    <img title="hello world"/>
    
      对于以上的元素  [title~=hello],[title*=hello]均能匹配,但是 [title~=hell]不能匹配,而[title*=hell]可以匹配,
    
     因为[attribute~=value] 匹配时要求value是一个“单词”,而 [attribute*=value]匹配时,是以正则表达式规则进行匹配
    
    
    同理,也可以类推出 [attribute|=value] 与 [attribute^=value]也是已类似的规则匹配,前者要求是以单词开头,而后者仅仅要求以xxxxx字符串开头即可.
    
    注: 这里所说的单词,并不是我们严格意义上的单词,比如 asdasd wasdas, 这里 asdasd wasdas对于计算机来说就是两个单词。但是as@re# 这种含有特殊字符的对于计算机来说就不是单词。
  • 伪类选择器(:)

    CSS2规则中所允许使用的伪类选择器

    
    
    CSS3中伪类选择器使用以及各浏览器的支持情况
    属性 描述 CSS
    :active 向被激活的元素添加样式。 1
    :focus 向拥有键盘输入焦点的元素添加样式。 2
    :hover 当鼠标悬浮在元素上方时,向元素添加样式。 1
    :link 向未被访问的链接添加样式。 1
    :visited 向已被访问的链接添加样式。 1
    :first-child 向元素的第一个子元素添加样式。 2
    :lang 向带有指定 lang 属性的元素添加样式。 2
     
    
    
    ===========================================================================================================
    
    常见的CSS3的规则  
    属性 描述 CSS
    :nth-child() 匹配父元素的第n个子元素。 3
    :nth-of-type() 匹配某父元素下第几个某一个类型的元素 3
    :empty { sRules } 匹配没有任何子元素(包括text节点)的元素 3
    :checked { sRules } 匹配用户界面上处于选中状态的元素

    (用于input type为radio与checkbox时)

    3
          
      CSS3的这些规则大部分在IE--8中都是不能使用的,  关于CSS3的一些伪类选择器及其使用,详细请见CSS参考手册
  • 伪元素选择器(:或者::)
     

     常见的伪元素选择器如下:

    选择符 版本 描述
    :first-letter/E::first-letter CSS1/3 设置对象内的第一个字符的样式。
    :first-line/E::first-line CSS1/3 设置对象内的第一行的样式。
    :before/E::before CSS2/3 设置在对象前(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用
    :after/E::after CSS2/3 设置在对象后(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用
    ::placeholder CSS3 设置对象文字占位符的样式。
    ::selection CSS3 设置对象被选择时的颜色。

    CSS3推荐使用::写法,用以区分伪类选择器和伪元素选择器,但是使用:写法依旧有效。

    但是在使用:first-letter/E::first-letter时,IE6在使用该选择符时有个显式的BUG:选择符与包含规则的花括号之间不能紧挨    着,需留有空格或换行。

2.基本选择器的组合

基本选择器组合结果的复杂选择器无外乎以下几种:兄弟选择器,子选择器,后代选择器,组合选择器,群组选择器。

  • 兄弟选择器(+)

    兄弟选择器又称邻近选择器,选择邻近的元素.使用方式如下:

    selector1+selector2{
    } //由两个基本选择器,==》组合选择器


  • 子选择器(>)

    子选择器,选择的是直接后代中所有符合条件的元素。

         selector1>selector2{
       color:red;
    }
  • 后代选择器(空格)

      后代选择器,选择的是子孙后代中所有符合条件的元素

    使用方式:
    
    selector1 selector2{
    color:red;
    } //A B是基本选择器
  • 组合选择器()

         组合选择器,是两个基本选择器同时使用的情况,匹配需同时满足多个基本选择器

    使用方式如下:
    
    selector1selector2{
    color:red;
    }

      

  • 群组选择器(,)

         群组选择器:选择器同时使用时,多个选择器之间是相互独立的
  • selector1,selector2{
    
    } //第一种
    =========================
    ========================= 两种使用方式,效果是一样的,只是第一种有利于代码的复用。
    selector1{ }
    selector2{ } //第二种

==================================================================

==================================================================、

=====================================未完待续....下一篇,各类选择器的优先级

本篇中只是大致叙述了一下,CSS选择器的种类,讲的也比较浅显---如果详细学习,推荐

http://www.css88.com/book/css/selectors/pseudo-classes/index.htm...

CSS系列------选择器和选择器的优先级的更多相关文章

  1. CSS系列之后代选择器、子选择器和相邻兄弟选择器

    后代选择器比子选择器的范围大,包含子选择器,且包含子选择器的“子孙”选择器,后代选择器使用"空格"符号间隔选择器 子选择器:子选择器只是父选择器的一级子元素,使用"> ...

  2. css系列教程1-选择器全解

    全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css系列教程1-选择器全解 css系列教程2-样式操作全解 css选择器全解: css选择器包括:基本选择器.属性选择器.伪类选择器.伪元 ...

  3. 【CSS系列-选择器优先级总结】

    转:http://www.cnblogs.com/dolphinX/p/3511300.html 容易被忽略CSS特性   CSS初学感觉很简单,但随着学习的深入才感觉CSS的水由多深,平常总会遇到各 ...

  4. 我给女朋友讲编程CSS系列(2)- CSS语法、3大选择器、选择器优先级

    首先看一下使用Css设置h1标签字体颜色和大小的例子,效果图如下: 新建一个网页test.html,然后复制粘贴下面的内容: <html> <head> <style t ...

  5. CSS魔法堂:选择器及其优先级

    一.前言    首先看看一道阿里这期网申的题目吧! 1.找出下面优先级相同的选择器 A. img.thumb:after B.[data-job="frontend"]::firs ...

  6. css样式表和选择器的优先级以及position元素属性值的区别

    css样式表优先级 问题:当同一个HTML元素被不止一个样式定义时,会使用哪个样式呢? 答:一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字4拥有最高的优先权. 1.浏览器缺省 ...

  7. css笔记09:选择器优先级

    1. (1) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  8. CSS选择器,选择器的优先级

    CSS选择器 CSS基本语法 选择器 + 声明块 选择器 - 通过CSS选择器选中页面中的指定元素,下面会重点写. 声明块 - 选择器后面跟着的是声明块,使用{}括起来,由一个个声明组成,声明由名值对 ...

  9. css中常用的选择器和选择器优先级

    css常用的选择器:类选择器,id选择器,元素选择器,伪类选择器,伪元素选择器,属性选择器. 选择器的优先级由四个部分组成:0,0,0,0 一个选择器的具体优先级如下规则确定: ID选择器 加 0,1 ...

随机推荐

  1. bzoj4198 荷马史诗 哈夫曼编码

    逐影子的人,自己就是影子. --荷马 Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但是由<奥德赛>和&l ...

  2. BZOJ-1192-[HNOI2006]鬼谷子的钱袋

    Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行)将要举行一场拍卖会,其中有一 ...

  3. ArcGIS RunTime SDK for Android之Features and graphics

    今天是我开通博客园的第一天,希望以后可以多在博客园上分享自己的学习心得,记录自己的学习历程.最近在学习ArcGIS RunTime SDK for Android,所以第一篇随笔就从这里来吧.官网的教 ...

  4. httpd配置文件规则说明和一些基本指令

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  5. Java面向对象 网络编程 下

    Java面向对象 网络编程  下 知识概要:                   (1)Tcp 练习 (2)客户端向服务端上传一个图片. (3) 请求登陆 (4)url 需求:上传图片. 客户端:   ...

  6. Sql Server 数据库中调用dll文件

    1.首先新建一个空的解决方案,并添加一个类库,代码如下,编译并生产dll using System; using System.Collections.Generic; using System.Da ...

  7. asp.net(C#)html无限分类树 可新增 删除 修改

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ProductSort.aspx ...

  8. 深入浅出AQS之组件概览

    之前分析了AQS中的独占锁,共享锁,条件队列三大模块,现在从结构上来看看AQS各个组件的情况. 原文地址:http://www.jianshu.com/p/49b86f9cd7ab 深入浅出AQS之独 ...

  9. 使用IGP和BGP的配合达到降低路由容量目的的实验与总结

    概述 1.先说结论,通过eBGP协议,可以显著降低对非核心路由器的路由容量要求,因为核心路由器的数量明显少于非核心路由器,所以,通过此措施即联通网络,又降低设备要求,非常适宜大型网络. 2.因为网络规 ...

  10. iOS中单例需要注意的

    单例模式怎么定义的,可能在不同的语言,不同的书中不完全一样,但是概况开来都应该是:一个类有且仅有一个实例,并且自行实例化向整个系统提供. 因此,首先你可能需要确定你是真的需要一个单例类,还是说仅仅是需 ...