2010-05-28 116 views
4

我有一张桌子,有10列。我想控制每列的​​宽度。 每一列都是独一无二的,现在我创建一个外部CSS样式为每列:使用内联css来使用一次性属性总是不好的主意?

​​

我知道有避免内联样式的最佳做法。 我批准使用外部CSS来查看任何与look'n'feel相关的内容:字体,颜色,图像。 但是在这种情况下使用外部CSS真的更好吗?

它不会产生额外的维护成本。
制作起来比较容易。

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

还有什么我错过了?

重要:我问只有一个地方使用的风格永远不会应用到一个元素,而不是全球性主题,如一个特定的列宽的一部分,具体情况。

+1

外部CSS可能导致的另一个问题是很多未使用的选择器。例如,可能很难记住从一个不同的文件中删除关联的CSS(这可能会随着时间的推移而增加)。您可能会看到这个Railscast(尽管我不知道它是否适用于Rails之外):http://railscasts.com/episodes/180-finding-unused-css – 2010-05-28 17:36:52

回答

2

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

  1. style=比其他CSS选择器具有更高的优先级,使其难以在样式表中进行更改;样式表必须更努力地覆盖这些。
  2. style=当您需要进行全局更改时,代码中很难找到规则。
  3. 您在每个网页浏览下载此CSS代码。
  4. 如果您对同一个HTML代码库有多个样式表,则style = rules不是样式表的一部分,因此不可更改。

但是,如果您要生成内容并且很难在静态CSS文件中描述此内容,则可能还需要生成CSS以匹配该内容。尽管存在缺陷,简单地生成规则通常更容易。但是,如果您生成的内容可以在CSS文件中轻松描述,因为生成的结构不会经常更改,或者因为您可以同时轻松生成HTML和CSS文件,所以最好不要使用style=

用于替代style=可能适合一些建议:

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

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

但是: +不需要额外的HTTP连接(除非您已经下载.css文件反正) - 每个页面被发送的时间,这个CSS与发送=>更高的带宽 - 设计师需要修改CSS中应用代码(坏习惯)

通常情况下,你不应该 - 除非它是一个真正的好的想法,通过性能调整google does

+0

“更容易生成”可以是一个有效的参数,具体取决于需要多少开发时间才能做到“正确”。开发者不是免费的。当然,做得不对 - 可能导致维护债务,所以你必须小心。但是这当然值得考虑:从“纯粹”方法中获得多少收益? – 2010-06-01 12:22:00

+0

它可以是一个有效的参数,但是它不适用于此:将它全部放在一个文件中并不容易 - 程序员倾向于在多个文件之间分割代码以分离并进行概述。 – Konerak 2010-06-01 12:37:59

相关问题