课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > 样式的作用域与模块化设计
  • 样式的作用域与模块化设计

    发布:昆明Java培训      来源:csser.org      时间:2016-05-27

  • 要做好模块化,我觉得理解好样式的作用域是很重要的,所以将这部分作为这个系列的第一篇。

    写过程序的同学应该都知道,变量是有作用域的(不知道的同学自己去问谷歌,这里就不作解释了),样式的定义也同样存在着作用域的问题,即定义的作用范围,很容易就能理解,如下面的p的作用域:

    /*作用域:全局*/ p{text-indent:2em;}

    /*作用域:.demo这个类中*/ .demo p{color:#000000;}

    样式选择器的优先级是学习样式的基础知识,一起简单回顾下:

    标签的权值为0,0,0,1

    类的权值为0,0,1,0

    属性选择的权值为0,0,1,1

    ID的权值为0,1,0,0

    important的权值为最高1,0,0,0

    使用的规则也很简单,就是 选择器的权值加到一起,大的优先;如果权值相同,后定义的优先 。虽然很简单,但如果书写的时候没有注意,很容易就会导致CSS的重复定义,代码冗余。

    从上面我们可以得出两个关键的因素:

    权值的大小跟选择器的类型和数量有关

    样式的优先级跟样式的定义顺序有关

    了解样式的权值后有什么作用呢?比如可以这样用:举一个最简单的例子,

    body{color:#555555;}.demo{color:#000000;}

    这里的文字颜色受全局定义的影响

    这里的文字颜色受类demo定义的影响

    这里的文字颜色受类demo定义的影响

    知道了样式的权值,你就知道上面例子的表现是怎样的了。进一步的应用,就是模块化了,比如《 从宜家的家具设计讲模块化 》中的例子,详细请移步。

    再来说说“作用域”,相信大家很容易就会想到“全局”、“公共”这些词,关注过模块化的同学应该都知道,网上说得最多的一种“模块化”,就是像header、footer这样的以大区域划分。在去年web标准交流会(页面重构合理化讨 )上,克军提出了“样式的三层架构”——公共规则层、公共模块层、项目层。这些都有它们适用的范围,而且最大的优点是容易理解和应用。这里也不再做重诉了,感兴趣的同学可以找找相关的文章。

    我在这一块的划分上,有点类似克军的“样式的三层架构”,有一点小的差别,我是以“作用域”来分的: 公共级(全局)、栏目级(局部公共)、页面级 。如何划分这个“作用域”呢?很简单,全局的global就是公共级的;只在栏目中用到的局部global是属于栏目级的;只影响单个页面的就是属于页面级的了。

    最后几点要特别注意的:

    除了标签选择器之外,哪些类是使用于公共级、栏目级中的,如

    .tx_hit{color:#FF0000 !important;}

    的适用范围是公共级的,应该放于全局的定义中。但,如果它只影响于某个栏目,那么就应该把它放于栏目级的作用域中。

    标签选择器一般属于栏目定义,有时会用于公共级作用域中,除了最基础的reset之外,应尽可能少使用在公共级定义中

    可继承的属性定义使用时须注意影响的范围,特别是在标签选择器中使用时

    接下来的内容就是以这个为基础的,希望大家能理解“样式的作用域”,对于后继内容的理解会很有帮助。

    推荐文章

上一篇:Oracle和Google针对Java的对决

下一篇:Flex应用程序的性能优化

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56