发表于: 2018-10-28 21:43:39

1 768


今天完成的事情:任务12

明天计划完成的事情:任务13

遇到的问题:暂时没有

学到的知识:


关于CSS相关规范

基本准则
符合web标准, 语义化html, 结构表现行为分离, 兼容性优良. 页面性能方面, 代码要求简洁明了有序, 尽可能的减小服务器负载, 保证最快的解析速度。
html规范
页面的第一行添加标准模式声明<!DOCTYPE html>;
代码缩进:tab键设置四个空格(通常在软件右下角设置相应空格大小);
html中除了开头的DOC和 'UTF-8'或者head里特殊情况可以大写外,其他都为小写,css类都为小写;
建议为 html 根元素指定 lang 属性,从而为文档设置正确的语言;
不同doctype在不同浏览器下会触发不同的渲染模式<meta http-equiv="X-UA-Compatible" content="IE=Edge">;
非特殊情况下样式文件必须外链至<head>...</head>之间;非特殊情况下JavaScript文件必须外链至页面底部;
尽可能减少div嵌套;
在页面中尽量避免使用style属性,即style="…"; 写在相应的样式文件中;
对于属性的定义,确保全部使用双引号,绝不要使用单引号;
背景图片请尽可能使用sprite技术, 减小http请求;
给区块代码及重要功能(比如循环)加上注释, 方便后台添加功能;
不要使用 @import,与 <link>标签相比,@import 指令要慢很多,不光增加了额外的请求次数,还会导致不可预料的问题。
ps:X-UA-Compatible是IE8的一个专有<meta>属性,它告诉IE8采用何种IE版本去渲染网页,在html的<head>标签中使用。
IE=edge告诉IE使用最新的引擎渲染网页
为什么要用X-UA-Compatible? 

在IE8刚推出的时候,很多网页由于重构的问题,无法适应较高级的浏览器,所以使用X-UA-Compatible标签强制IE8采用低版本方式渲染。 使用 X-UA-Compatible 标头可指定页面支持的 Internet Explorer 版本。 使用 document.documentMode 可确定网页的兼容性模式。


css规范

CSS书写顺序
显示属性:display/list-style/position/float/clear …;
自身属性(盒模型):width/height/margin/padding/border;
背景:background ;
行高:line-height;
文本属性:color/font/text-decoration/text-align/text-indent/vertical-align/white-space/content…;
其他:cursor/z-index/zoom/overflow;
CSS3属性:transform/transition/animation/box-shadow/border-radius;
如果使用CSS3的属性,如果有必要加入浏览器前缀,则按照 -webkit- / -moz- / -ms- / -o- / std的顺序进行添加,标准属性写在最后。
排版规范
如果是在html中写内联的css,则必须写成单行;
每一条规则的大括号 { 前后加空格;
属性名冒号之前不加空格,冒号之后加空格;
每一个属性值后必须添加分号; 并且分号后空格;
多个selector共用一个样式集,则多个selector必须写成多行形式。
规则书写规范
使用单引号,不允许使用双引号;
每个声明结束都应该带一个分号,不管是不是最后一个声明;
除16进制颜色和字体设置外,CSS文件中的所有的代码都应该小写;
除了重置浏览器默认样式外,禁止直接为html tag添加css样式设置;
每一条规则应该确保选择器唯一,禁止直接为全局.nav/.header/.body等类设置属性。
class命名规范
使用有意义的或通用的ID和class命名:ID和class的命名应反映该元素的功能或使用通用名称,而不要用抽象的晦涩的命名。反映元素的使用目的是首选;使用通用名称代表该元素不表特定意义,与其同级元素无异,通常是用于辅助命名;使用功能性或通用的名称可以更适用于文档或模版变化的情况。
规则命名中,一律采用小写加中划线的方式,不允许使用大写字母或 _;
命名避免使用中文拼音,应该采用更简明有语义的英文单词进行组合;
不允许通过1、2、3等序号进行命名;避免class与id重名;
class用于标识某一个类型的对象,命名必须言简意赅;
尽可能提高代码模块的复用,样式尽量用组合的方式;
规则名称中不应该包含颜色(red/blue)、定位(left/right)等与具体显示效果相关的信息。应该用意义命名,而不是样式显示结果命名。
类型选择器避免同时使用标签、ID和class作为定位一个元素选择器;从性能上考虑也应尽量减少选择器的层级。

常用命名(多记多查英文单词):page、wrap、layout、header(head)、footer(foot、ft)、content(cont)、menu、nav、main、submain、sidebar(side)、logo、banner、title(tit)、popo(pop)、icon、note、btn、txt、iblock、window(win)、tips等

代码性能优化
合并margin、padding、border的-left/-top/-right/-bottom的设置,尽量使用短名称。 
选择器应该在满足功能的基础上尽量简短,减少选择器嵌套,查询消耗。但是一定要避免覆盖全局样式设置。 
注意选择器的性能,不要使用低性能的选择器。 
禁止在css中使用*选择符。 
除非必须,否则,一般有class或id的,不需要再写上元素对应的tag。 
0后面不需要单位,比如0px可以省略成0,0.8px可以省略成.8px。 
如果是16进制表示颜色,则颜色取值应该大写。 
如果可以,颜色尽量用三位字符表示,例如#AABBCC写成#ABC 。 
如果没有边框时,不要写成border:0,应该写成border:none 。 
尽量避免使用AlphaImageLoader 。 
在保持代码解耦的前提下,尽量合并重复的样式。 
background、font等可以缩写的属性,尽量使用缩写形式 。 
禁止在css中使用*选择符。 
字体粗细采用具体数值,粗体bold写为700,正常normal写为400



返回列表 返回列表
评论

    分享到