【发布时间】:2011-07-01 21:05:39
【问题描述】:
我已经在我的 css 中为常见的边距和填充类声明了常见的 css 类,这样我就可以使用它们而不会使其他 css 声明过于具体。
例如:
.padTB5{padding:5px 0;}
.pad10{padding:10px;}
.mTop10{margin:10px 0 0;}
.mTop5{margin:5px 0 0;}
- 这个方法对吗??
- 如果不是,那为什么?
- 如果是,那么边距或内边距哪个更好? (我知道浏览器的边距问题)
请指导...提前谢谢:)
【问题讨论】:
-
类应该与元素在文档中的作用相关,而不是它的外观。好:页眉、页脚、注释、标题、主菜单……坏:红色、margin5、粗体、……
-
感谢大家为如此快速的响应和讨论所做的努力。 @VirtualBlackFox:对于大多数模块,整个站点的顶部和底部都需要 5px 或 10px(最大)间距......所以如果我保留这些类,你会为这些类建议什么名称,以便它们很容易识别?
-
这些被称为原子类。使用不包括实际单位大小的命名约定。例如:对于一个小的 margin-bottom,写 mb-s。对于大的 padding-right,写 .pr-l。大小可以写成:-xs、-s、-m、-l、-xl。至于朱利安所说的,请忽略该建议。这就是雅虎、因纽特人 5.0 和其他人所做的。它实际上防止了对象抽象中规则的重复。我已经与 Johnathen Snook、Harry Roberts 和其他专家进行了交谈,他们同意他们有自己的位置 - 只是限制他们。
-
我忘了补充,您不想在原子类中包含单位大小的原因是设计原因。一个很好的地方是在雅虎的源代码中。他们的 GitHub 上也有一个生成器。 SuitCSS 也有一些很好的“帮助”类。再说一次,这对其他贡献者来说听起来并不刻薄,但这在前端 UI 世界中是非常可接受的,甚至被最佳现代实践的先驱者使用。
标签: css padding margin spacing