Bootstrap CSS编码规范

2020-06-18 05:59:01易采站长站整理


// Without nesting
.table > thead > tr > th { … }
.table > thead > tr > td { … }

// With nesting
.table > thead > tr {
> th { … }
> td { … }
}


注释

代码是由人编写并维护的。请确保你的代码能够自描述、注释良好并且易于他人理解。好的代码注释能够传达上下文关系和代码目的。不要简单地重申组件或 class 名称。

对于较长的注释,务必书写完整的句子;对于一般性注解,可以书写简洁的短语。


/* Bad example */
/* Modal header */
.modal-header {
...
}

/* Good example */
/* Wrapping element for .modal-title and .modal-close */
.modal-header {
...
}


class 命名

class 名称中只能出现小写字符和破折号(dashe)(不是下划线,也不是驼峰命名法)。破折号应当用于相关 class 的命名(类似于命名空间)(例如,

.btn
.btn-danger
)。
避免过度任意的简写。
.btn
代表 button,但是
.s
不能表达任何意思。
class 名称应当尽可能短,并且意义明确。
使用有意义的名称。使用有组织的或目的明确的名称,不要使用表现形式(presentational)的名称。
基于最近的父 class 或基本(base) class 作为新 class 的前缀。
使用
.js-*
class 来标识行为(与样式相对),并且不要将这些 class 包含到 CSS 文件中。

在为 Sass 和 Less 变量命名是也可以参考上面列出的各项规范。


/* Bad example */
.t { ... }
.red { ... }
.header { ... }

/* Good example */
.tweet { ... }
.important { ... }
.tweet-header { ... }


选择器

对于通用元素使用 class ,这样利于渲染性能的优化。
对于经常出现的组件,避免使用属性选择器(例如,

[class^="..."]
)。浏览器的性能会受到这些因素的影响。
选择器要尽可能短,并且尽量限制组成选择器的元素个数,建议不要超过 3 。
只有在必要的时候才将 class 限制在最近的父元素内(也就是后代选择器)(例如,不使用带前缀的 class 时 — 前缀类似于命名空间)。

扩展阅读:

Scope CSS classes with prefixes
Stop the cascade


/* Bad example */
span { ... }
.page-container #stream .stream-item .tweet .tweet-header .username { ... }
相关文章 大家在看