zoukankan      html  css  js  c++  java
  • 第2章 为样式找到应用目标

    一 选择器

    常用选择器:类型选择器(P,h),后代选择器(空格连接),Id选择器(#),类选择器(.)和

    伪类:根据文档之外的其他条件为文档应用样式,如表单元素或链接的状态。

       :link和:visited称为链接伪类,只能用于锚元素;:hover,:active,:foucs称为动态伪类,理论上适用于任何元素。ie6忽略:foucs,Ie7在任何元素上都支持:hover,忽      略:active,:foucs。

    通用选择器:*

    高级选择器:ie6及更低版本不支持,但可以向后兼容

          包括子选择器(>)和相邻同胞选择器(+),bug:在ie7中,如果父元素和子元素之间有注释会有问题

          属性选择器([])

    二 层叠和特殊性

        1 层叠给每个属性分配一个重要度。用STYLE属性编写的规则高于其他规则,具有Id选择器的规则高于没有id选择器的规则,具有类选择器的规则高于没有类选择器的规则。如果两个选择器的规则相同,则后定义的规则优先。

        如果遇到了似乎没有起作用的规则,则很可能出现了特殊性冲突。可以在选择器中添加它的父元素的id来提高特殊性。

        2 继承:元素后代继承父元素的某些属性。

        如果在主体设置字号,页面上的任何标题都没有采用此样式。不是因为标题没有继承文本字号,而是浏览器的默认样式表设置了标题字号。继承而来的样式特殊性为空,所以直接应用于元素的任何样式总会覆盖继承而来的样式。

        在firefox中用Firebug可以查明样式的来源。

    三 规划,组织和维护样式表

      1   a.<style>标签放入文档头部

         b.外部样式表

         c.从另一个样式表导入样式表,例 @import url(/css/layout.css),但是导入样式表比链接样式慢且浏览器会限制文件数量。

      2 设计代码结构

        示例

    /* Remove padding and margin */
    * {
      margin: 0;
        padding: 0;
    }
    
    /* Put it back on certain elements */
    h1, h2, h3, h4, h5, h6, p, pre, blockquote, form, fieldset, table, ul {
      margin: 1em 0;
    }
    
    /* Class for clearing floats */
    .clear {
        clear:both;
    }
    
    /* Remove border around linked images */
    img {
        border: 0;
    }
    
    /* =Typography
    -----------------------------------------------------------------------------*/
    body {
      font: 62.5%/1.6 "Lucida Grande", "Lucida Sans", "Trebuchet MS", Tahoma, Verdana, sans-serif;
    }
    
    /* =Headings
    -----------------------------------------------------------------------------*/
    /* =Links
    -----------------------------------------------------------------------------*/
    /* =Branding
    -----------------------------------------------------------------------------*/
    /* =Main Nav
    -----------------------------------------------------------------------------*/
    /* =Sub Nav
    -----------------------------------------------------------------------------*/
    /* =Main Content
    -----------------------------------------------------------------------------*/
    /* =Secondary Content
    -----------------------------------------------------------------------------*/
    /* =Footer
    -----------------------------------------------------------------------------*/
    /* =Forms
    -----------------------------------------------------------------------------*/
    /* Removes fieldset borders. even on Opea 7 */
    fieldset {
      border: 1px solid transparent;
    }
    /* =Tables -----------------------------------------------------------------------------*/ table { border-spacing: 0; border-collapse: collapse; } td { text-align: left; font-weight: normal; } /* =Misc 1 -----------------------------------------------------------------------------*/ /* =Misc 2 -----------------------------------------------------------------------------*/

      3 删除注释和优化样式表

        a 在线css优化器

        b 服务器端压缩(最佳)

          

        

  • 相关阅读:
    bzoj 1030 [JSOI2007]文本生成器
    Swift 学习笔记 (闭包)
    Swift 学习笔记 (函数)
    HTML 学习笔记 JQueryUI(Interactions,Widgets)
    HTML 学习笔记 JQuery(表单,表格 操作)
    HTML 学习笔记 JQuery(animation)
    HTML 学习笔记 JQuery(盒子操作)
    HTML 学习笔记 JQuery(事件)
    HTML 学习笔记 JQuery(DOM 操作3)
    HTML 学习笔记 JQuery(DOM 操作2)
  • 原文地址:https://www.cnblogs.com/houxiaohang/p/4967362.html
Copyright © 2011-2022 走看看