使用样式属性不赞成?

时间:2009-07-14 20:45:45

标签: html css stylesheet

作为一个开始从基于表格的设计过渡到完整CSS的人我想知道是否使用style属性来调整元素被认为是“作弊”,如果绝对所有的演示应该严格地在样式表中?

另见:

  

A question of style - approaches to styling and stylesheets

12 个答案:

答案 0 :(得分:17)

在某些情况下,您确定您想要做的就是调整这个特定元素的样式,而不是其他任何内容。

在这些情况下,您可以愉快地使用内联样式属性。 但是,在未来的某个时刻,你会意识到事实上你需要将相同的风格应用于其他东西,你会发现自己错了。

去过那里,做到了。 8 - )

答案 1 :(得分:5)

我觉得这里有一个方面没有涉及:手工编辑的HTML片段与生成的HTML片段之间的区别。

对于人工编辑,将样式保存在文件中可能更好,更容易维护。

<强> 然而

只要您开始使用服务器端脚本或使用某种JavaScript生成HTML元素,请务必使基本功能所需的所有样式 内联!

例如,您编写了某种生成工具提示的JavaScript库。现在,您将DIV注入您的页面,这将需要一些样式。例如,position: absolute和最初的display:none。您可能想要将这些元素赋予类.popup,并要求此类在某些CSS文件中具有正确的定义。毕竟,应该在CSS文件中指定样式,对吧?

您将使您的JavaScript库非常烦人地重用,因为您不能再简单地复制和调用一个.js文件并完成它。相反,您必须复制.js文件,但还必须确保脚本所需的所有样式都在CSS文件中定义,并且您必须去寻找那些,并确保他们的名字不要与你已经拥有的课程发生冲突。

为了最大限度地方便使用,请在创建元素时直接在元素上设置所需的样式。对于纯粹出于美学目的的样式,例如background-colorfont-size等,您仍然可以附加一个类,以便为脚本的使用者提供一种简单的方法来更改脚本元素的外观,但不要求它!

答案 2 :(得分:4)

您可以使用style属性,但使用CSS的关键是您在单个文件中进行更改,它会影响整个站点。尽可能地避免它(旧习惯难以忍受)

答案 3 :(得分:2)

这是不可维护的。我们所有人都做到了。你最擅长的是把每一个调整都放在一个风格中。让我教你一些大多数开发人员不了解的CSS ...你可以一次使用N个样式。

例如,假设您有一个很好的颜色div样式someDIVStyle

.someDIVStlye
{
  background-color: yellow;
  ...
}

您想要使用它,但只想将background-color调整为蓝色。许多人会复制/粘贴它,然后通过更改创建一个新的样式。但是,简单地创建这样的样式:

.blueBackground
{
  background-color: blue;
}

原样申请:

<div class="someDIVStyle blueBackground">...

最右边的样式始终会覆盖前面样式的属性。您可以一次使用多种样式来满足您的需求。

答案 4 :(得分:2)

我同意其他一些海报,最好将样式信息保存在样式表中。 CSS往往会很快变得复杂,将信息放在一个地方很好(而不是必须在HTML中来回跳转到样式表以查看正在使用的样式)。

有点偏离主题的提示:在IE8中按F12会显示一个很棒的工具,可以让您检查您正在浏览的网页中的元素样式。在Firefox中,FireBug也做同样的事情。如果您想知道样式更改将如何影响元素,那么这些工具就是救生员。

答案 5 :(得分:1)

这是一个非常“个人化”的问题,对我来说,“ALL”这个词是一个非常强烈的词。你应该尽力在你的CSS中拥有大部分样式。但是,如果它让你的生活更轻松,你可以使用风格。

答案 6 :(得分:0)

通常最好在样式表上使用样式,特别是如果它将被多次使用,但使用style属性绝对不是“作弊”。快速浏览stackoverflow源会显示很多这样的例子。

答案 7 :(得分:0)

是的,这有点作弊,但如果你想作弊,这取决于你。 :)

在样式表中使用样式的基本思想是将内容与布局分开。如果您使用样式属性,则仍在内容中混合布局。

然而,这并不是那么可怕,因为你可以很容易地将风格转变为一个类。在开发过程中非常方便,能够轻松地在特定元素上设置样式,而无需编写类名称并担心样式将如何级联。

我有时会让style属性在生产代码中通过,如果它只是一个页面的特定内容,并且它是否会存在很长时间。我只是因为时间紧迫而且可以在以后清理......

因此,即使您有时使用样式属性,您仍然应该拥有所有样式应该在样式表中的野心。从长远来看,它使代码更容易维护。

答案 8 :(得分:0)

正如其他人所说,一般而言,没有。

然而,有些情况下它是完全合理的。例如,今天我不得不从一个包含未知文件数的目录中将随机背景图像加载到div中。基本上,客户端可以将文件放入该文件夹,它们将显示在随机背景图像轮换中。

对我而言,这是在div上动态构建样式标记的明确理由。

此外,如果您正在使用带有webforms和内置控件的.net框架,那么您将看到使用的内联样式!

答案 9 :(得分:0)

将样式信息放在特定页面中可能有很好的理由。

例如,如果您希望在每个页面(旅行社......)上都有不同的标题背景,那么将该样式信息放在该特定元素中会更容易(更好的是,在文档的头部.. 。)而不是在每个页面上为该元素赋予不同的类,并在外部样式表中定义所有这些类。

答案 10 :(得分:0)

style属性确实有一个重要用途:以编程方式设置样式。虽然DOM包含操作样式表的方法,但对它们的支持仍然不稳定,并且它们对于许多任务来说有点重量级,例如隐藏和显示元素。

答案 11 :(得分:0)

是的,一般来说,style属性是不受欢迎的。由于您从基于表的方法转向CSS方法,我强烈建议您避免使用内联样式。正如之前的一张海报所指出的那样:坏习惯难以打破,并且养成使用内联样式以获得临时便利的习惯是一个错误。您可以回到使用字体标记。没有什么区别。

话虽如此,有时候使用简单的内联样式是有意义的,但首先养成使用样式表的习惯。只有当你习惯将所有放在样式表中时才应该开始查看快捷方式。

我认为这是发表答案的每个人的普遍共识