• 规则结构

  每个规则都有两个基本部分组成:选择器和声明块。声明块由一个或多个声明组成,每个声明则是一个属性-值对。

  • 元素选择器
  • 声明和关键字
    • 关键字一般由空格隔开;有一种情况例外 font属性中的  斜线(/)分割 元素的字体大小和行高两个关键字。
  • 分组
    • 选择器分组

      •  通配选择器 (*)css2引入
    • 声明分组
      •  各个声明最后使用分号;
  • 类选择器和ID选择器
    •  类选择器

      • 多类选择器

        •  各个词之间用空格分隔
        • 不同平台的Internet Explorer 处理不同
    •  ID选择器
  • 属性选择器
    •  简单属性选择器   h1[class]{color:silver;}
    • 根据具体属性值选择
      •   h1#page-title和 h1[id="page-title"]的差别
    • 根据部分属性值选择
      •   p[class~="warning"]{font-weight:bold;}

        •     p.warning 和 p[class~="warning"] 应用到HTML文档时是等价的。

    • 特定属性选择类型

      •  [att|="val"]  
      • *[lang|="en"]{color:white;} 这个规则会选择lang属性等于en或者以en-开头的所有元素。
  • 使用文档结构
    •   后代选择器(包含选择器或上下文选择器)

      • 选择器之间的空格是一种结合符
      • 从右向左读
    • 选择子元素 子结合符(>)
    • 选择相邻兄弟元素 (+)

    windows平台的 Internet Explorer 在IE6 之前不支持子选择器和相邻兄弟选择器。IE7对两者则提供了支持

  • 伪类和伪元素
    •   伪类选择器 (:)把某种幻想类关联到与伪类相关的元素
      •   链接伪类  :link  、:visited
      • 动态伪类 :focus、:hover 、:active
      •  伪类的顺序  link-visited-focus-hover-active
      • windows 平台的Internet Explorer在ie6 之前只允许动态伪类选择超链接,而不允许选择其他元素。IE7支持对所有元素都能应用:hover,但是不支持对表单元素应用:foucs 样式
    • 动态样式的实际问题
      •     重绘文档
    • 选择第一个子元素
      • 使用另一个静态伪类 :first-child来选择元素的第一个桌子元素
      • windows 平台的Internet Explorer在ie6 之前不支持 :first-child,不过ie7支持
    • 根据语言选择
      •   :lang() 伪类(从对应模式上来讲 像是 |=属性选择器)
    • 结合伪类
      •  a:hover:link :long(de)
      • windows 平台的Internet Explorer在ie6 之前不能正确识别这种组合伪类  只会注意到组合伪类中的最后一个伪类;IE7不存在这种限制,它会正确处理这些组合伪类
    • 伪元素选择器()
      •  设置首字母样式  :first-letter
      • 设置第一行样式 :first-line

       css2 中 :first-letter 和 :first-line 只能引用于标记或段落之类的块级元素,而不能引用于超链接等的行内元素

      css2.1 中 :first-letter可应用于所有元素         

      • 设置之前和之后元素的样式

        •   :before    h2:before{content:"}}";color:silver;}
        • :after

css 权威指南笔记(四)选择器的更多相关文章

  1. css权威指南--笔记

    第1章 css和文档 1,元素:替换元素(img input),非替换元素(大多数span). 2,link:rel(代表关系:stylesheet,候选样式表:alternate styleshee ...

  2. css 权威指南笔记(一)

    零零散散接触css将近5年,俨然已经成为一个熟练工.如果不是换份工作,我不知道自己差的那么远:在qunar的转正review中我这种“知其然而不知其所以然” 的状况被标明,我才意识到我已停步不前近两年 ...

  3. css 权威指南笔记( 五)结构和层叠之三种样式来源

    CSS中的样式一共有三种来源:创作人员.读者和用户代理,来源的不同会影响到样式的层叠方式 首先,创作人员(author's+style)样式应该是我们最熟悉的,如果你是一个前端开发者,那么你写的那些样 ...

  4. css 权威指南笔记( 五)结构和层叠

    特殊性 重要性 !important; 继承 向上传播例外,应用到body元素的背景样式可以传递到html元素,相应对的可以定义其画布. 大多数框模型属性(包括外边距.内边距.背景.边框)都不能继承 ...

  5. css 权威指南笔记

    部分属性选择: 选择class 属性中包含warning的元素 [class~="warning"]{font-weight:bold} 子串匹配属性选择器: 在现代浏览器中得到支 ...

  6. css 权威指南笔记( 六)-基本视觉格式化

    块级元素 百分数:边框的宽度不能是百分数,只能是长度.基本原则是只使用百分数将无法创建完全灵活的元素布局(即所有属性都可设置). 合并垂直外边距 相邻外边距会沿着竖轴合并.两个外边距中较小的一个会被较 ...

  7. css 权威指南笔记(三)结合css和XHTML

    link rel stylesheet alternate stylesheet(候选样式表) title type media all screen print ..... 内联样式

  8. css 权威指南笔记(二)元素

    替换元素 用来替换元素内容的部分并非有文档内容直接表示. img input 非替换元素 其内容由用户代理(通常是一个浏览器)在元素本身生成的框中显示. 块级元素 块级元素生成一个 元素框,(默认)会 ...

  9. css权威指南读书笔记

    今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[cla ...

随机推荐

  1. Swift 类和结构体的简单认识

    类和结构体的共同点: 定义属性用于存储值 定义方法用于提供功能 定义附属脚本用于访问值 通过拓展增加默认实现的功能 定义构造器用于生成初始化值 实现协议以提供某种标准功能 类是引用类型 结构体是值类型 ...

  2. commons-lang阅读(一)

    基于commons-lang-2.4.jar org.apache.commons.lang.time.DateFormatUtils类 package org.apache.commons.lang ...

  3. [BZOJ 1901] Dynamic Rankings 【树状数组套线段树 || 线段树套线段树】

    题目链接:BZOJ - 1901 题目分析 树状数组套线段树或线段树套线段树都可以解决这道题. 第一层是区间,第二层是权值. 空间复杂度和时间复杂度均为 O(n log^2 n). 线段树比树状数组麻 ...

  4. [BZOJ 1053] [HAOI 2007] 反素数ant

    题目链接:BZOJ 1053 想一想就会发现,题目让求的 1 到 n 中最大的反素数,其实就是 1 到 n 中因数个数最多的数.(当有多于一个的数的因数个数都为最大值时,取最小的一个) 考虑:对于一个 ...

  5. 教你把UIView切成任意形状

    有时候layer.cornerRadius并不能满足需求,自己实现drawRect又太麻烦,怎么办? 多的不说,直接上代码: - (void)dwMakeBottomRoundCornerWithRa ...

  6. mysql中TimeStamp和Date的转换

    mysql 查询时间戳(TIMESTAMP)转成常用可读时间格式 from_unixtime()是MySQL里的时间函数 date为需要处理的参数(该参数是Unix 时间戳),可以是字段名,也可以直接 ...

  7. java 中的访问修饰符

    一. public:所有类都可以访问 protected:所有子类和同包下的类都可以访问 缺省:同包类都可以访问 private:类本身才可以访问 注意点:protected修饰类属性时,例如 pac ...

  8. java学习面向对象之final关键字

    之前我们讲过继承的相关知识了,继承就是子类继承父类的属性和方法并且还可以覆盖父类的方法.但是这样有一个缺陷是什么呢,就是当我们一个类当中涉及一些封装的核心的东西或者对整个系统非常关键的方法或者类的时候 ...

  9. Spark使用CombineTextInputFormat缓解小文件过多导致Task数目过多的问题

    目前平台使用Kafka + Flume的方式进行实时数据接入,Kafka中的数据由业务方负责写入,这些数据一部分由Spark Streaming进行流式计算:另一部分数据则经由Flume存储至HDFS ...

  10. Apache+PHP 环境上传文件配置

    打开php.ini 配置文件,查找 File Uploads ,在这个区域有以下3个选项: file_uploads = On 是否允许HTTP文件上传.默认值为On允许HTTP文件上传,此选项不能设 ...