CSS属性 - 先设置全局边框,然后指定border-bottom?

时间:2012-11-25 18:27:44

标签: css border semantics

除了例如底部之外,在容器的所有面上实现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“语义”而言)
  • 但是如果你想改变边框细节,那就需要了 多次变更(难以管理)。

2 个答案:

答案 0 :(得分:1)

实际上它完全取决于你,对你来说更方便,它还取决于某些状态,如果我希望所有边界的color都相同我会去第一但如果我想我需要在不久的将来改变边框每一边的颜色我会选择第二个1,但是现在,我会坚持第一个选项

原因:

  • 较少的CSS陈述
  • 具体来说,它表明我希望border-bottomnone
  • 正如您所说,如果我需要任何更改,我不需要更改每一个property: value

如果你说正确的语义,正确的语义定义非常具体,如

border-color: /*Whatever*/;
border-width: /*Whatever*/;
border-style: /*Whatever*/;

现在确定你不想成为这个特定的

答案 1 :(得分:0)

如果您只想指定一次值,您可以指定所有值的颜色和宽度,然后指定侧面的样式:

border-color: red;
border-width: 1px;
border-style: solid solid none solid;