2

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

也可以看看:

样式问题 - 样式和样式表的方法

4

12 回答 12

17

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

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

去过也做过。8-)

于 2009-07-14T20:48:48.157 回答
5

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

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

然而

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

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

你会让你的 JavaScript 库重用起来很烦人,因为你不能再简单地复制和调用一个.js文件并完成它。相反,您必须复制.js文件,但还必须确保脚本所需的所有样式都在您的 CSS 文件中定义,并且您必须去寻找这些样式,并确保它们的名称不会与类冲突你已经有了。

为了最大限度地方便使用,只需在创建元素时直接在元素上设置所需的样式。对于纯粹出于美学目的的样式background-colorfont-size

于 2009-07-14T21:21:55.703 回答
4

您可以使用样式属性,但使用 CSS 的目的是您在单个文件中进行更改,它会影响整个站点。尽量避免(旧习惯难改)

于 2009-07-14T20:51:14.190 回答
2

它是不可维护的。我们所有人都做到了。你最好做的就是把每一次调整都变成一种风格。让我教你一些大多数开发人员不知道的关于 CSS 的知识……你可以一次使用 N 种样式。

例如,假设您有一个很棒的 colorized divs 样式,称为someDIVStyle

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

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

.blueBackground
{
  background-color: blue;
}

像这样应用它:

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

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

于 2009-07-14T20:49:05.753 回答
2

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

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

于 2009-07-14T20:57:04.257 回答
1

这是一个非常“个人”的问题,对我来说,“ALL”这个词是一个非常强烈的词。您应该尽最大努力在您的 css 中拥有大部分样式。但是,如果它使您的生活更轻松,您可以偶尔使用样​​式。

于 2009-07-14T20:48:56.767 回答
0

是的,样式属性通常是不受欢迎的。由于您要从基于表格的方法转向 CSS 方法,我强烈建议您避免使用内联样式。正如之前的发帖人所指出的:坏习惯很难改掉,为了一时的方便而养成使用内联样式的习惯是错误的。您不妨回到使用字体标签。真的没有什么区别。

话虽如此,在某些情况下使用简单的内联样式是有意义的,但首先要养成使用样式表的习惯。只有当您对将所有内容都放在样式表中感到满意时,您才应该开始查看快捷方式。

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

于 2009-07-26T23:42:44.500 回答
0

通常最好在样式表上有样式,特别是如果它会被多次使用,但使用样式属性绝对不是“作弊”。快速浏览一下 stackoverflow 源代码可以看到很多这样的例子。

于 2009-07-14T20:49:37.983 回答
0

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

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

然而,它并没有那么糟糕,因为您可以很容易地将样式移动到一个类中。在开发过程中能够如此轻松地在特定元素上设置样式非常方便,而无需编写类名并担心样式将如何级联。

我有时会让 style 属性在生产代码中通过,如果它是特定于一页的东西,并且它是否会存在很长时间是值得怀疑的。偶尔只是因为时间紧迫,以后可以清理一下……

因此,即使您有时使用样式属性,您仍然应该有一个雄心,即所有样式都应该在样式表中。从长远来看,它使代码更易于维护。

于 2009-07-14T20:58:33.333 回答
0

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

但是,在某些情况下它是完全合理的。例如,今天我必须将随机背景图像加载到一个 div 中,从一个包含未知 # 个文件的目录。基本上,客户端可以将文件拖放到该文件夹​​中,它们将显示在随机背景图像旋转中。

对我来说,这是在 div 上动态构建样式标签的明显原因。

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

于 2009-07-14T21:05:54.160 回答
0

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

例如,如果您想在每个页面(旅行社...)上使用不同的标题背景,则将该样式信息放在该特定元素中(更好,在文档的标题中...)要比在每个页面上为该元素提供不同的类,并在外部样式表中定义所有这些类。

于 2009-07-14T21:08:29.350 回答
0

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

于 2009-07-14T21:08:56.150 回答