CSS注释

就像HTML教程中描述的一样,在CSS文档中注释也起到很重要的作用,可以帮助我们记起CSS的含义,加载在HTML文档的位置等.

CSS注释的开始使用/*,结束使用*/

CSS注释语法

CSS Code复制内容到剪贴板 /* 注释内容 */   示例       /* ----------文字样式开始---------- */   /* 梦之都白色12象素文字 */   .dreamduwhite12px   {     color:white;     font-size:12px;    }       /* 梦之都黑色16象素文字 */   .dreamdublack16px   {     color:black;     font-size:16px;    }    /* ----------文字样式结束---------- */  

风格建议

我使用行宽不超过 80 字节的文档块风格注释:

CSS Code复制内容到剪贴板 /**    * This is a docBlock style comment    *     * This is a longer description of the comment, describing the code in more    * detail. We limit these lines to a maximum of 80 characters in length.    *     * We can have markup in the comments, and are encouraged to do so:    *       <div class=foo>          <p>Lorem</p>      </div>    *     * We do not prefix lines of code with an asterisk as to do so would inhibit    * copy and paste.    */         /**    * 这是一个文档块(DocBlock)风格的注释。    *    * 这里开始是描述更详细、篇幅更长的注释正文。当然,我们要把行宽控制在 80 字节以内。    *    * 我们可以在注释中嵌入 HTML 标记,而且这也是个不错的办法:    *       <div class=foo>           <p>Lorem</p>       </div>    *    * 如果是注释内嵌的标记的话,在它前面不加星号,以免被复制进去。    */  

在注释中应当尽量详细描述代码,因为对你来说清晰易懂的内容对其他人可能并非如此。每写一部分代码就要专门写注释以详解。

注释的拓展用法

注释有许多很高级的用法,例如:

准修饰选择器(Quasi-qualified selectors)
代码标签
继承标记
准修饰选择器(Quasi-qualified selectors)

你应当避免过分修饰选择器,例如如果你能写 .nav{} 就尽量不要写 ul.nav{}。过分修饰选择器将影响性能,影响 class 复用性,增加选择器私有度。这些都是你应当竭力避免的。

不过有时你可能希望告诉其他开发者 class 的使用范围。以 .product-page 为例,这个 class 看起来像是一个根容器,可能是 html 或者 body 元素,但是仅凭 .product-page 则无法判断。

我们可以在选择器前加上准修饰(即将前面的类型选择器注释掉)来描述我们规划的 class 作用范围:

CSS Code复制内容到剪贴板 /*html*/.product-page{}  

这样我们就能准确获知该 class 的作用范围而不会影响复用性。

其它例子如:

CSS Code复制内容到剪贴板 /*ol*/.breadcrumb{}    /*p*/.intro{}    /*ul*/.image-thumbs{}  

这样我们就能在不影响代码私有度的前提下获知 class 作用范围。

代码标签

如果你写了一组新样式的话,可以在它上面加上标签,例如:

这些标签可以使得其他开发者快速找到相关代码。如果一个开发者需要查找和列表相关的部分,他只要搜索 ^lists 就能快速定位到 .nav,.matrix 以及其它相关部分。

继承标记

将面向对象的思路用于 CSS 编写的话,你经常能找到两部分 CSS 密切相关(其一为基础,其一为拓展)却分列两处。我们可以用继承标记来在原元素和继承元素之间建立紧密联系。这些在注释中的写法如下:

在元素的基本样式中:

CSS Code复制内容到剪贴板 /**    * Extend `.foo` in theme.css    */    .foo{}  

在元素的拓展样式中:

CSS Code复制内容到剪贴板 /**    * Extends `.foo` in base.css    */    .bar{}  

这样一来我们就能在两块相隔很远的代码间建立紧密联系。


 

CSS的注释部分编程引申