驯服CSS选择器_ Div+Css教程-查字典教程网
驯服CSS选择器
驯服CSS选择器
发布时间:2016-12-27 来源:查字典编辑
摘要:PPT:TamingCSSSelectors作者:NicoleSullivan翻译:ytzongCSS文件的大小和所引起的HTTP的请求数是...

PPT:Taming CSS Selectors 作者:Nicole Sullivan 翻译:ytzong

CSS 文件的大小和所引起的 HTTP 的请求数

是 CSS 性能的最关键因素

回流(reflow)和渲染时间

(非常!)没那么重要

副本(duplication)比陈旧的规则(stale rules)更糟糕

因为我们有工具处理后者

定义缺省值

不要在每处都重复编码

不好的:

#weatherModule h3{color:red;}

#tabs h3{color:blue;}

推荐:

h1, .h1{...}

h2, .h2{...}

h3, .h3{...}

h4, .h4{...}

h5, .h5{...}

h6, .h6{...}

用单独的 class 来定义结构

不要在每处都重复编码

使用 class

而不是元素选择器

不好的:

div.error{...}

推荐:

.error{绝大多数代码写在这里}

div.error{单独定义}

p.error{单独定义}

em.error{单独定义}

避免使用元素选择器

初始化除外

不好的:

div{...}

ul{...}

p{...}

推荐:

.error{...}

.section{...}

.products{...}

给规则同样的权重

使用级联去重写先前的规则

不好的:

.myModule .inner b{...}

.myModule2 b{...}

推荐:

.myModule b{...}

.myModule2 b{...}

保守的使用 hack

不好的:

.mod .hd{...}

.ie .mod .hd{...}

.weatherMod .hd{...}

推荐:

.mod .hd{color:red;_zoom:1;}

.weatherMod .hd{...}

注:此点来自 The Cascade, Grids, Headings, and Selectors from an OOCSS Perspective, Ajax Experience 2009第96P,为作者在 Ajax Experience 2009 上所做的补充。

避免指定位置

应用 class 在你想要改变的对象上

不好的:

.sidebar ul{...}

.header ul{...}

推荐:

.mainNav{...}

.subNav{...}

避免太过特别的 class

它们是都有语义的,而且有限制

不好的:

.ducatiMonster620{...}

.nicolesDucatiMonster620{...}

推荐:

.vehicle{...}

.motorcycle{...}

避免单独的定义

id 在每个页面只能使用一次

不好的:

#myUniqueIdentifier{...}

#myUniqueIdentifier2{...}

混合使用

避免重复编码

封装

不要直接访问对象的子节点

不好的:

.inner{...}

.tr{...}

.bl{...}

推荐:

.weatherMod .inner{...}

.weatherMod .tr{...}

.weatherMod .bl{...}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新 Div+Css教程学习
    热门 Div+Css教程学习
    网页设计子分类