【发布时间】:2012-11-13 07:01:59
【问题描述】:
在容器的所有侧面(例如底部除外)实现border 的最佳 CSS 实践是什么?
border 属性不能为每一边指定不同的值。
选项 1:覆盖规则
border: 1px solid red;
border-bottom: none;
- 似乎需要额外的计算 - 与 CSS 重置类似的缺点(至少在哲学上)。
选项 2: 设置特定规则
border-top: 1px solid red;
border-left: 1px solid red;
border-right: 1px solid red;
- 可能更正确(就 CSS“语义”而言)
- 但如果您想更改边框细节,则需要 多项更改(更难管理)。
【问题讨论】:
-
我总是使用选项一,但这只是我个人的经验,我不能 100% 确定哪种做法最好。
-
这里也一样,但我有时喜欢质疑简单的事情:P
-
找到正确/最好的方法总是最好的
-
记住:CSS 没有语义的概念。也就是说,我肯定会选择选项 1 - 使用级联和
border属性的巨大灵活性对您有利!在诸如此类的微观问题中无需担心浏览器的性能。 CSS 重置提出了一个稍微重要的问题,因为它们将样式应用于尽可能多的元素,这是完全不同的。