在注释中应当尽量详细描述代码,因为对你来说清晰易懂的内容对其他人可能并非如此。每写一部分代码就要专门写注释以详解。
注释有许多很高级的用法,例如:
- 准修饰选择器(Quasi-qualified selectors)
- 代码标签
准修饰选择器(Quasi-qualified selectors)
你应当避免过分修饰选择器,例如如果你能写 就尽量不要写 ul.nav{}
。过分修饰选择器将影响性能,影响 class 复用性,增加选择器私有度。这些都是你应当竭力避免的。
不过有时你可能希望告诉其他开发者 class 的使用范围。以 .product-page
为例,这个 class 看起来像是一个根容器,可能是 html
或者 body
元素,但是仅凭 .product-page
则无法判断。
/*html*/.product-page{}
这样我们就能准确获知该 class 的作用范围而不会影响复用性。
其它例子如:
这样我们就能在不影响代码私有度的前提下获知 class 作用范围。
代码标签
如果你写了一组新样式的话,可以在它上面加上标签,例如:
* ^navigation ^lists
*/
.nav{}
* ^grids ^lists ^tables
.matrix{}
继承标记
将面向对象的思路用于 CSS 编写的话,你经常能找到两部分 CSS 密切相关(其一为基础,其一为拓展)却分列两处。我们可以用继承标记来在原元素和继承元素之间建立紧密联系。这些在注释中的写法如下:
在元素的基本样式中:
在元素的拓展样式中:
/**
* Extends `.foo` in base.css
这样一来我们就能在两块相隔很远的代码间建立紧密联系。