对于曾经使用过的属性,使用内联css总是坏主意吗?

时间:2010-05-28 17:16:19

标签: css

我有一张桌子,有10列。我想控制每列的​​宽度。 每列都是唯一的,现在我为每列创建一个外部CSS样式:

div#my-page table#members th.name-col
{ width: 40px; }

我知道有一种避免内联样式的最佳做法。 我赞成使用外部CSS来寻找任何相关的东西:字体,颜色,图像。 但在这种情况下使用外部CSS真的更好吗?

不会产生额外的维护费用 它更容易生产。

我能想到的缺点:
如果您有独立的设计人员和开发团队 - 使用内联样式将迫使设计人员修改内容文件(在我的情况下为aspx)。 可能使用更多带宽。

我错过了什么?

重要提示:我在询问一个特定情况,其中使用的样式将仅适用于一个元素,并且不属于全局主题,例如一个特定列的宽度。

2 个答案:

答案 0 :(得分:2)

style=""不好的原因有很多。我认为它是我在代码库中遇到它的任何地方的错误。以下是一些原因:

  1. style=比其他CSS选择器具有更高的优先级,因此很难在样式表中实现更改;样式表必须更加努力地覆盖这些。
  2. 当您需要进行全局更改时,很难在代码中找到
  3. style=规则。
  4. 您可以在每个页面视图中下载此CSS代码。
  5. 如果您有相同HTML代码库的多个样式表,则style = rules不是样式表的一部分,因此不可更改。
  6. 但是,如果要生成内容并且很难在静态CSS文件中描述此内容,则可能还需要生成CSS以匹配该内容。尽管存在缺陷,但简单地生成style=规则通常更容易。但是,如果您生成的内容可以在CSS文件中轻松描述,因为生成的结构不会经常更改,或者因为您可以轻松地同时生成HTML和CSS文件,那么最好不要使用{ {1}}。

    有关style=的替代方案的一些建议可能适用:

    1. 使用类名而不是内联样式。如果表中有许多列具有相同的属性,并且您希望始终具有相同的属性,则可以正常工作。然后你的样式表可以保持固定,而你的HTML是流动的,因为CSS只引用类。这可能是我使用的方法。
    2. 在页面加载后,使用JQuery或其他一些javascript库以编程方式设置对象的样式。

答案 1 :(得分:1)

更容易生成并不​​是一个真正有效的参数 - 人们喜欢将大块代码拆分成更小的块 - 与代码和标记相同。

然而:  +没有额外的HTTP连接(除非你已经下载了.css文件)   - 每次发送页面时,都会使用=>发送此CSS更多带宽   - 设计师需要在应用程序代码中修改CSS(不良做法)

通常情况下,你不应该 - 除非通过性能调整真正考虑到google does