在可能的情况下,使用3个字符的十六进制表示法。
颜色值允许这样表示,
3个字符的十六进制表示法更简短。
始终使用小写的十六进制数字。
不推荐
color: #FF33AA;
推荐
color: #f3a;
ID 和 Class(类) 名的分隔符
使用连字符(中划线)分隔ID和Class(类)名中的单词。为了增强课理解性,在选择器中不要使用除了连字符(中划线)以为的任何字符(包括没有)来连接单词和缩写。
另外,作为该标准,预设属性选择器能识别连字符(中划线)作为单词[attribute|=value]的分隔符,
所以最好的坚持使用连字符作为分隔符。
不推荐
.demoimage {} .error_status {}
推荐
#video-id {} .ads-sample {}
Hacks
避免用户代理检测以及CSS“hacks” – 首先尝试不同的方法。通过用户代理检测或特殊的CSS滤镜,变通的方法和 hacks 很容易解决样式差异。为了达到并保持一个有效的和可管理的代码库,这两种方法都应该被认为是最后的手段。换句话说,从长远来看,用户代理检测和hacks
会伤害项目,作为项目往往应该采取阻力最小的途径。也就是说,轻易允许使用用户代理检测和hacks 以后将过于频繁。
声明顺序
这是一个选择器内书写CSS属性顺序的大致轮廓。这是为了保证更好的可读性和可扫描重要。
作为最佳实践,我们应该遵循以下顺序(应该按照下表的顺序):
结构性属性:
display
position, left, top, right etc.
overflow, float, clear etc.
margin, padding
表现性属性:
background, border etc.
font, text
不推荐
.box { font-family: 'Arial', sans-serif; border: 3px solid #ddd; left: 30%; position: absolute; text-transform: uppercase; background-color: #eee; right: 30%; isplay: block; font-size: 1.5rem; overflow: hidden; padding: 1em; margin: 1em; }
推荐
.box { display: block; position: absolute; left: 30%; right: 30%; overflow: hidden; margin: 1em; padding: 1em; background-color: #eee; border: 3px solid #ddd; font-family: 'Arial', sans-serif; font-size: 1.5rem; text-transform: uppercase; }
声明结束
为了保证一致性和可扩展性,每个声明应该用分号结束,每个声明换行。
不推荐
css 代码: .test { display: block; height: 100px }
推荐
css 代码:
.test { display: block; height: 100px; }
属性名结束
属性名的冒号后使用一个空格。出于一致性的原因,
属性和值(但属性和冒号之间没有空格)的之间始终使用一个空格。
不推荐
css 代码:
h3 { font-weight:bold; }
推荐
css 代码: h3 { font-weight: bold; }
选择器和声明分离
每个选择器和属性声明总是使用新的一行。
不推荐
css 代码:
a:focus, a:active { position: relative; top: 1px; }
推荐
css 代码:
h1, h2, h3 { font-weight: normal; line-height: 1.2; }
规则分隔
规则之间始终有一个空行(双换行符)分隔。
推荐
css 代码:
html { background: #fff; } body { margin: auto; width: 50%; }
CSS引号
属性选择器或属性值用双引号(””),而不是单引号(”)括起来。
URI值(url())不要使用引号。
不推荐