CSS 样式指南

Avatar of Chris Coyier
Chris Coyier 发表于

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

在我们最近关于 CSS 属性排序 的调查结果总结中,它引出了 CSS 样式指南这一更广泛的问题。属性排序只是您在制定完整样式策略时需要做出的众多选择之一。命名是其中一部分。分段也是其中一部分。注释、缩进、整体文件结构…… 所有这些都构成了完整的 CSS 样式指南。

让我们总结一些现有的样式指南。

但首先…… 不是模式库。

喜欢模式库。例如 Twitter BootstrapGEL。我认为它们是一种非常棒的工作方式,尤其是在大型网站和 Web 应用程序中。这篇文章不是关于这些的。我们以后会对这些进行总结,因为我认为这也很有价值。这篇文章是关于CSS 本身的样式指南。

列表

我将在下面列出每个样式指南中我喜欢的部分。

GitHub

GitHub CSS 样式指南 →

根据经验法则,嵌套深度不要超过 3 层。如果您发现自己需要更深的嵌套,请考虑重新组织规则(无论是所需的特殊性,还是嵌套的布局)。

首选无单位的行高,因为它不会继承其父元素的百分比值,而是基于字体大小的倍数。

Google

Google HTML/CSS 样式指南 →

使用尽可能短但又足够长的 ID 和类名。

例如 #nav 而不是 #navigation.author 而不是 .atr

不要在选择器中使用除连字符以外的任何字符(包括无字符)连接单词和缩写,以提高理解力和可扫描性。

例如 .demo-image 而不是 .demoimage.demo_image

惯用 CSS

Nicolas Gallagher 的惯用 CSS →

配置您的编辑器以“显示不可见字符”。这将允许您消除行尾空白、消除意外的空行空白,并避免污染提交。

长而用逗号分隔的属性值(例如渐变或阴影的集合)可以跨多行排列,以提高可读性并生成更有用的差异。

使用单独的文件(通过构建步骤连接),以帮助分解不同组件的代码。

CSS 技巧

Harry Robert 的 CSS 样式 →

我全面禁止在 CSS 中使用 ID。它们实际上毫无意义,只会造成危害。

此部分标题前也添加了 $。这样,当我查找某个部分时,实际上是在查找 $MAIN 而不是 MAIN

在开发人员需要确切了解 CSS 代码块如何应用于某些 HTML 的情况下,我经常在 CSS 注释中包含 HTML 代码片段。

Smashing Magazine

Vitaly Friedman 的“使用 CSS 样式指南提高代码可读性” →

对于大型项目或大型开发团队,拥有简短的更新日志也很有用。

为了更好地概述您的代码,您可以考虑对简短的代码片段使用单行代码。

ThinkUp

ThinkUp CSS 样式指南 →

如果宽度或高度的值为 0,则不要指定单位。

引用选择器块的注释应位于与其引用的块紧邻的上一行。

WordPress

WordPress CSS 编码标准 →

在部分之间添加两行空行,在部分中的块之间添加一行空行。

宽泛的选择器使我们能够提高效率,但如果未经测试,可能会产生不利后果。特定位置的选择器可以节省我们的时间,但很快会导致样式表混乱。请谨慎使用。

魔法数字是不吉利的。这些数字是一次性使用的快速修复。例如:.box { margin-top: 37px }

SMACSS

Jonathan Snook 的 CSS 可扩展和模块化架构 →

这是一个庞然大物,很难只提取几个引用。但是……

将您创建的每种新样式都添加到单个文件的末尾会使查找变得更加困难,并且对于任何其他参与项目的人员来说都会非常混乱。

如果操作正确,模块可以轻松地移动到布局的不同部分而不会中断。

仅包含包含语义的选择器。span 或 div 没有语义。标题有一些。元素上定义的类有很多。

更多?

您的组织是否维护和使用公共样式指南?请发布它!