作为一个开始从基于表格的设计过渡到完整 CSS 的人,我想知道使用 style 属性对元素进行调整是否被认为是“作弊”,并且是否绝对所有的演示都应该严格地在样式表中?
12 回答
在某些情况下,您确定您想要做的就是调整这个特定元素的样式,而不是其他任何事情。
在这些情况下,您可以愉快地使用内联样式属性。 但是,在未来的某个时刻,你会意识到实际上你需要将相同的风格应用到其他东西上,你会意识到你错了。
去过也做过。8-)
我觉得这里有一个方面没有涉及:手工编辑的 HTML 片段和生成的 HTML 片段之间的区别。
对于人工编辑,将样式保存在文件中可能会更好、更容易维护。
然而
一旦您开始使用服务器端脚本或某种 JavaScript 生成 HTML 元素,请确保内联基本功能所需的所有样式!
例如,您编写了某种生成工具提示的 JavaScript 库。现在,您将在页面中注入 DIV,这将需要一些样式。例如,position: absolute
并且,最初,display:none
。您可能很想给这些元素一个类.popup
,并要求该类在某些 CSS 文件中具有正确的定义。毕竟,样式应该在 CSS 文件中指定,对吧?
你会让你的 JavaScript 库重用起来很烦人,因为你不能再简单地复制和调用一个.js
文件并完成它。相反,您必须复制.js
文件,但还必须确保脚本所需的所有样式都在您的 CSS 文件中定义,并且您必须去寻找这些样式,并确保它们的名称不会与类冲突你已经有了。
为了最大限度地方便使用,只需在创建元素时直接在元素上设置所需的样式。对于纯粹出于美学目的的样式background-color
,font-size
如
您可以使用样式属性,但使用 CSS 的目的是您在单个文件中进行更改,它会影响整个站点。尽量避免(旧习惯难改)
它是不可维护的。我们所有人都做到了。你最好做的就是把每一次调整都变成一种风格。让我教你一些大多数开发人员不知道的关于 CSS 的知识……你可以一次使用 N 种样式。
例如,假设您有一个很棒的 colorized div
s 样式,称为someDIVStyle
:
.someDIVStlye
{
background-color: yellow;
...
}
您想使用它,但只想将其调整background-color
为蓝色。许多人会复制/粘贴它,然后根据更改制作新样式。但是,简单地创建这样的样式:
.blueBackground
{
background-color: blue;
}
像这样应用它:
<div class="someDIVStyle blueBackground">...
最右边的样式总是覆盖它前面的样式的属性。您可以一次使用多种样式来满足您的需求。
我同意其他一些海报,最好将样式信息保留在样式表中。CSS 往往会很快变得复杂,将这些信息放在一个地方是很好的(而不是必须从 HTML 来回跳转到样式表来查看正在使用的样式)。
一点题外话:在 IE8 中按 F12 会显示一个很棒的工具,可以让您检查正在浏览的网页中元素的样式。在 Firefox 中,FireBug 做同样的事情。如果您想知道样式更改将如何影响元素,那么这些工具就是救命稻草。
这是一个非常“个人”的问题,对我来说,“ALL”这个词是一个非常强烈的词。您应该尽最大努力在您的 css 中拥有大部分样式。但是,如果它使您的生活更轻松,您可以偶尔使用样式。
是的,样式属性通常是不受欢迎的。由于您要从基于表格的方法转向 CSS 方法,我强烈建议您避免使用内联样式。正如之前的发帖人所指出的:坏习惯很难改掉,为了一时的方便而养成使用内联样式的习惯是错误的。您不妨回到使用字体标签。真的没有什么区别。
话虽如此,在某些情况下使用简单的内联样式是有意义的,但首先要养成使用样式表的习惯。只有当您对将所有内容都放在样式表中感到满意时,您才应该开始查看快捷方式。
我认为这是发布答案的每个人的普遍共识
通常最好在样式表上有样式,特别是如果它会被多次使用,但使用样式属性绝对不是“作弊”。快速浏览一下 stackoverflow 源代码可以看到很多这样的例子。
是的,这有点作弊,但如果你想作弊一点,这取决于你。:)
在样式表中包含样式的基本思想是将内容与布局分开。如果您使用样式属性,您仍在内容中混合布局。
然而,它并没有那么糟糕,因为您可以很容易地将样式移动到一个类中。在开发过程中能够如此轻松地在特定元素上设置样式非常方便,而无需编写类名并担心样式将如何级联。
我有时会让 style 属性在生产代码中通过,如果它是特定于一页的东西,并且它是否会存在很长时间是值得怀疑的。偶尔只是因为时间紧迫,以后可以清理一下……
因此,即使您有时使用样式属性,您仍然应该有一个雄心,即所有样式都应该在样式表中。从长远来看,它使代码更易于维护。
正如其他人所说,一般来说,没有。
但是,在某些情况下它是完全合理的。例如,今天我必须将随机背景图像加载到一个 div 中,从一个包含未知 # 个文件的目录。基本上,客户端可以将文件拖放到该文件夹中,它们将显示在随机背景图像旋转中。
对我来说,这是在 div 上动态构建样式标签的明显原因。
此外,例如,如果您正在使用带有 webforms 和内置控件的 .net 框架,那么无论如何您都会看到使用的内联样式!
将样式信息放在特定页面中可能有很好的理由。
例如,如果您想在每个页面(旅行社...)上使用不同的标题背景,则将该样式信息放在该特定元素中(更好,在文档的标题中...)要比在每个页面上为该元素提供不同的类,并在外部样式表中定义所有这些类。
style 属性确实有一个重要用途:以编程方式设置样式。虽然 DOM 包含操作样式表的方法,但对它们的支持仍然参差不齐,而且它们对于许多任务(例如隐藏和显示元素)来说有点重量级。