CSS & HTML编程军规
上一篇 / 下一篇 2014-06-23 15:50:46 / 个人分类:编程
军规条例
军规一:CSS规则也需要恰当的注释
军规二:使用高效的CSS选择器Use efficient CSS selectors
军规三:避免所有元素选择器( * ) Avoid a universal key selector.
军规四:让选择器尽可能的独特Make your rules as specific as possible.
军规五:删除冗余的规则Remove redundant qualifiers.
军规六:避免使用层次过多的冗余的后代选择器Avoid using descendant selectors, especially those that specify redundant ancestors.
军规七:尽可能使用类选择器去代替后代选择器Use class selectors instead of descendant selectors.
军规八:在IE浏览器中避免为非链接元素<a>使用状态选择器(:hover) Avoid the :hover pseudo-selector for non-link elements for IE clients.
军规九:避免CSS表达式Avoid CSS expressions
军规十:把CSS文件头部Put CSS in the document head
军规十一:指定图像尺寸Specify image dimensions
军规十二:指定一个字符集Specify a character set
军规十三:尽量使用用CSS而不是JS去做页面布局
军规十四:浏览器生产商特定扩展属性Vendor-Specific -moz and -webkit Property Prefixes
军规十五:尽量使用语义化的标签,
军规十六:许多与视觉有关的标签和属性已经Deprecated (弃置),
军规十七:少使用Name属性
军规说明
CSS也是代码,尤其是针对特定浏览器bug所做的处理和特殊样式的设定,必须通过css注释加以说明。
军规二:使用高效的CSS选择器Use efficient CSS selectors
避免使用能够匹配大量元素的低效选择器可以加快网页渲染。
军规三:避免所有元素选择器( * ) Avoid a universal key selector.
军规四:让选择器尽可能的独特Make your rules as specific as possible.
ID选择器比tag选择器更好。Prefer class and ID selectors over tag selectors.
军规五:删除冗余的规则Remove redundant qualifiers.
例:
ul#top_blue_nav {...}
form#UserLogin {...}
ID选择器已W经可以唯一选中元素,再写标签或类等其他选择器进行组合除子降低性能外没有任何意义。
例:
body ul li a {...}
上面的body选择器即是冗余的,因为所有的页面元素都在body标签内。
军规七:尽可能使用类选择器去代替后代选择器Use class selectors instead of descendant selectors.
军规九:避免CSS表达式Avoid CSS expressions
军规十:把CSS文件头部Put CSS in the document head
1、在页面头部<head>中使用<link>引入css文件,不要使用@import
2、把<style>标签放在页面头部<head>中
军规十一:指定图像尺寸Specify image dimensions
声明图片的实际尺寸Specify dimensions that match those of the images themselves.
<img>支持缩放图片,但为了提高性能不建议在浏览器中这么做,应该在图片编辑器中编辑好。
在<img>或块级元素(block)上指定图像尺寸Be sure to specify dimensions on the image element or block-level parent
军规十二:指定一个字符集Specify a character set
总是指定页面的内容类型(Content-Type) Always specify a content type.
在页面头部指定正确的页面字符集与编码Be sure to specify the correct character encoding.
军规十三:尽量使用用CSS而不是JS去做页面布局
军规十四:浏览器生产商特定扩展属性Vendor-Specific -moz and -webkit Property Prefixes
由于CSS3还是完善中,因此对于一些新的属性各产商实现不尽相同,而且W3C草案确定后,一些属性最终也许会被否认或变动,因此尽量加上前缀
军规十五:尽量使用语义化的标签,