什么时候应该使用属性vs CSS样式?

时间:2014-07-15 20:47:26

标签: html css xhtml

有时在xhtml中,我们写下假设<table border="1">,然后在css中再写table{ border:2px solid black}。我很困惑什么时候写哪个。何时使用属性以及何时使用css。有时他们会感到困惑。

4 个答案:

答案 0 :(得分:5)

如果您不确定使用哪种工具,请考虑它们实际上是什么。

HTML是一种标记语言。它用于描述您网页上的内容,以便浏览您网站时可以理解它。它定义段落,引用,重要内容,导航等。

CSS是一种样式语言。它描述了您的内容的呈现方式。使用它可以使元素看起来像你想要的样子,使你的网站具有视觉吸引力。

边框是您内容的视觉风格的一部分。您已将内容放在表格中,因为它有意义,但如果您想在表格中添加边框,请添加CSS规则以使其看起来像您想要的那样。

您经常会发现较旧的HTML代码是使用更多属性来设置内容样式,以及<font><center>标记以及将内容与演示文稿混合的其他内容。您可能还会发现纯CSS中无法使用站点的某些可视部分,并且需要额外的标记才能使其正常工作;这些是您作为Web开发人员所做出的权衡。

答案 1 :(得分:2)

虽然border属性is not deprecatedthe align attribute is(为了解释HTML4推荐中属性的状态),但通常建议不要将这些属性放在标记中。

在查看XHTML table documentation时,我找不到对这些属性的引用,所以我认为这些属性是不可接受的。

使用CSS代替有问题的属性,消除了混合内容和样式。 XHTML似乎完全专注于内容而不是样式,所以我不得不说虽然它是可以接受的,但它不是在外部样式表中使用属性代替CSS的最佳途径。

我可以看到使用属性而不是css的一种情况是设计html电子邮件,因为大多数电子邮件客户端都会删除css,除非使用style属性声明内联。在这种情况下,使用单个属性可能比将所有规则填充到样式属性中更清晰。

<小时/> 的更新

由于其他用户的评论中提供的信息,我发现我正在查看的XHTML Spec已经过时了。 Modern XHTML确实识别并支持边框等属性。提供的链接是对html和xhtml之间差异的解释,作为主题的介绍。好东西。 我引用的评论如下:

  

当您讨论XHTML文档时,您的意思是中止的XHTML 2规范。现代XHTML是XHTML5,它具有与常规HTML5相同的属性和内容模型规则,只是一种不同的语法。 XHTML 2的作者开始删除多年来构建在HTML上的所有问题,因此采用了一种非常纯粹的方法。 HTML5作者采取了更加务实的态度,认识到某些奇怪的特征,例如border =&#34; 1&#34;,实际上是有用的,并允许它们用于那些狭隘的情况。

答案 2 :(得分:1)

您应该更喜欢样式属性,在这种特殊情况下,您应该始终使用样式,因为根据W3C index of attributesborder=上的<table>属性已被弃用。 Cellspacing和cellpadding尚未正式弃用,但不鼓励使用它们,并且它们在HTML5中列为"obsolete features"

尽可能多地保留文档中的所有样式/演示文稿 - 文档应该是内容和结构 - 然后根据需要使用XSLT或CSS设置样式。

答案 3 :(得分:0)

不推荐使用表属性。您应该始终使用css来设置表格的样式。在创建单独的样式表或将其嵌入到html文件中时。

任何html元素都可以使用css设置样式。

编辑:

有关已弃用属性的更多信息,请访问:http://www.w3.org/TR/html4/index/attributes.html

祝你好运!