0

众所周知,优秀的程序员正在使用 StackOverflow。使用 StackOverflow 作为证据,据说不鼓励使用内联样式。为什么呢?请解释。

他们只是破坏级联吗?不?那么他们做什么呢?

谢谢 :)

4

3 回答 3

2

他们,

  1. 分开关注。
  2. 提高可读性/可访问性。
  3. 使 html 文件更小。
于 2013-08-17T09:57:58.857 回答
2

我被确定为以下原因

  1. 您不能在其他任何地方重复使用这些样式。

  2. 页面的 html 标记变得繁琐,肉眼难以解析。

  3. 由于它们不是存储在一个地方,因此它们很难被编辑

  4. 这种方法不能在您的应用程序中提供一致性。元素上的内联样式可能会让人头疼。

  5. 它没有为您提供浏览器缓存优势。客户端在每次请求时重复下载文件。相反,请考虑使用外部样式表。

  6. 内联样式优先于页面级样式声明和外部样式表。因此,您可能会意外覆盖您不想要的样式。

  7. 使用内联样式来设置伪元素和 -classes 是不可能的。例如,使用外部和内部样式表,您可以设置锚标记的已访问、悬停、活动和链接颜色的样式。

于 2013-08-17T10:10:37.683 回答
2

既有技术原因,也有意见/方法/风格/范式问题。主要的技术原因是,如果您在页面的两个或多个位置使用相同的样式,则需要在多个副本中存在相同的内联 CSS 代码。这反过来又会使维护,尤其是样式的更改变得更加困难。它也会有其他明显的缺点。

大多数情况下,您不会在单个元素上设置样式,而是在元素类型或类或其他几个元素上设置样式。即使你有,比如说,h1每页只有一个元素,以特定方式设置样式,你可能在多个页面上都有这样一个元素,并且通常希望使用相同的样式(或者可能相同的基本样式和每页的一些样式)增强)。有时您想为单个元素设置样式,但仍然可以想象您以后想在另一个元素上使用相同的样式。使用外部样式表和例如一个class属性可以很容易地重用样式。

但是,如果这些问题不适用(它们通常适用),那么就没有可靠的技术理由反对使用内联样式。当您为单个元素指定样式设置时,不期望重用这些设置,那么style属性实际上更方便、更紧凑、更易于编写和阅读。在另一个文件中<p style="color: red">text</p><p id="foobar">text</p>一起比较。#foobar { color: red; background: white }

但在一个更典型的情况下,你会发现在另一个文件中写入更有<p class="warning">text/p>.warning { color: red; background: white }

于 2013-08-17T12:34:10.577 回答