【发布时间】:2012-12-31 16:47:46
【问题描述】:
我不想争论使用内联样式而不是外部样式,但是我只想知道您对某些可以使用内联样式的情况的想法。
例如,我有 10 种类型的表格,它们具有不同的宽度,但始终使用相同的边框颜色、厚度和填充。我目前的想法是我应该声明一个全局 CSS 类来控制表格的边框和填充,然后使用内联样式来指定表格的宽度。
例如
标签: css
我不想争论使用内联样式而不是外部样式,但是我只想知道您对某些可以使用内联样式的情况的想法。
例如,我有 10 种类型的表格,它们具有不同的宽度,但始终使用相同的边框颜色、厚度和填充。我目前的想法是我应该声明一个全局 CSS 类来控制表格的边框和填充,然后使用内联样式来指定表格的宽度。
例如
标签: css
是的,你可以声明一个全局 CSS 类并在所有表中使用它。它适用于所有桌子。
【讨论】:
我认为你在这里误解了一些东西。如果你拿这个:
<table class = "default" style = "width: 320px;">
那么这不将width: 320px;应用于所有tables 类default。它仅适用于具有style 属性的特定元素。
如果您希望指定此类 CSS 而无需 <link> 外部文件,您可以将 CSS 嵌入到 <style> 标签中:
.default { //or table, or whatever your selector is
width: 320px;
}
如果您想用不同的width 为类default 设置特定表格的样式,请给它另一个类 (class = "default width320") 并执行以下操作:
.default.width320 { //selects element with BOTH default and width320 classes
width: 320px;
}
Read more about CSS selectors here 和 selector specificity here。
编辑:如果您只想设置特定表格的样式,那么您的方法相对较好。但是,我建议使用类并将样式合并到一个地方(无论是.css 文件还是内联<style> 定义)——它比分散的style 属性定义更易于维护和整洁。
编辑2:绝对正确使用style属性。这更多的是个人选择的问题。如果您确定这不会导致可维护性问题 ('Hey, why is my table 320 pixels wide? I don't see anything in my CSS file that does that'),那就去做吧。这就是style 属性的用途。
【讨论】:
'Hey, why is my table 320 pixels wide? I don't see anything in my CSS file that does that'),那就去做吧。这就是 style 属性的用途。查看我的编辑。
<table> 定义附近添加一个comment,将人们指向一个CSS 文件/<style> 定义,他们可以在其中更改宽度。如果你认为你的队友/其他人不尊重这一点,那就选择内联样式,因为在这种情况下它们确实是最清晰的。
我相信在您的情况下这是一种正确的方法。当您正确使用外部类“默认”时,请在所有表中使用它并指定与特定元素内联的不同宽度。
【讨论】:
这只是一个问题,因为在大多数情况下,如果您已经完成了一次,那么您会想要再做一次。现在你有两个相同的style 属性。而且,它们都应该是红边的。哦,我在某个地方需要第三张这样的桌子。而且,等等,它们应该更瘦一点……
另一方面,如果您使用一次性课程,则可以将其拍到下一张桌子上。或者您可以比较所有十张表并从一个地方调整它们,等等。
违反原则的问题在于,原则往往是来之不易的。 :)
【讨论】: