电话
13363039260
简单来说,使用方式:内联、内嵌、外联、import。为元素设置样式的方式:元素标签名、类名、id、各种选择器,以及它们的组合。所以,它是很灵活的,如果不做任何的规范的限制,就肯定会导致css代码的混乱和难以维护。
如何高效组织css代码?
结构清晰、模块分明,合理的代码组织结构可提高代码的重用性和可维护性,降低开发复杂度。那怎样组织呢?
首先是组织代码文件,可分为两大类:通用类和业务类。 然后,有一个文件用来重置,常见命名是reset或者default、normalize等。
有一个文件用来存放通用模块和一些基础样式,常命名为mod、common等,如页面对话框,提示框,头部,底部,侧边栏等,会在多个页面用到,这样方便各页面引用,提高代码复用度。
另外需要一个文件存在兼容旧版IE浏览器的样式,这样做的好处有:
一、减少非IE浏览器加载样式文件的负担
二、如果未来决定不再支持旧版的IE浏览器,则只需要去修改一个文件,不需要多个文件到处找去修改。当然,在处理浏览器兼容问题上,有个原则是,是否有其他不存在兼容问题的方案,如果没有,则把要做兼容的部分单独放在一个文件中。
其余的css样式文件则用于业务模块,不同模块的样式文件放置于不同的文件夹中,原则上每个模块的样式文件不宜太大。
这样可能会造成一个问题,一个页面不是要引入很多文件了?页面加载的时候http请求不是多很多?其实并不矛盾,文件的划分只是为了方便开发和维护,发布的时候会使用工具把多个文件压缩合并成一个文件,所以不用担心引入多个文件的问题。
上面说的是文件的组织,那么在文件中也要按照一定规则来组织样式的声明。 比如,按照模块中元素的层级,如果是同级,则按照元素在页面中的位置,从上到下,或者从左到右,若存在多个元素共用相同声明,则应先声明共通样式。 如果觉得这样还不够,则可以使用一些更高级的方式,如less、sass,它们将css赋予了动态语言的特性,如变量、继承、运算、函数等。
下面涉及某几个点谈一谈:
使用css reset 统一浏览器显示效果
首先,html的标签是有原始样式的,但问题是在不同浏览器中,标签的默认样式不尽相同,其中的某些差异给开发造成了麻烦,早在2004年,就有人开发了第一个重置样式文件,叫undohtml.Css,后续又有了多种重置方案,其中有个方案“火爆一时”,此方案总共就一行代码*{margin:0;padding:0;}。重置了所有标签默认的margin、padding样式,但有一个弊端是增加了后续开发的复杂度,并不能很有效的提高整体开发的效率。另外,此方案性能也不佳,当页面元素很多时就会影响页面渲染的性能。所以,人们还在逐渐的探索更好的重置方式,目前有多个流行的重置方案,有Eric Meyer开发的Reset CSS和雅虎公司前端技术团队开发的YUI Reset CSS。其实并不存在一种方案适合所有项目,所以最好还是选择参考别人的方案然后设计一套适合自己项目的方案。
需要考虑如下几点:
(1)HTML5新标签 需要重置它们的display样式,因为在低版本IE中没有定义它们的默认display样式。
(2)padding、margin、border 标签在浏览器中的差异主要是与这三个样式有关的默认样式产生的,但也不是需要重置全部元素的margin、padding、border,应根据实际情况。
(3)字体设置 <h1>~<h6>、<strong>、<em>等语义化标签都有默认字体,但实际当中所需要的字体大小或者粗细都跟默认不同,所以一般项目中都会对他们进行重置。
(4)其他元素的样式重置 典型的有li默认的列表项样式,table的单元格之间默认空间,a链接的下划线等。
给css定义排序
Css的逻辑性不强,随意的书写也不影响其作用,如果不借助工具对其排序也会很繁琐,所以,很少有人会在意,但是排序还是有好处的。
比如:
1、更整洁
2、防止重复定义
3、能够清晰查看定义
4、后续维护能快速定位