css - 为什么不鼓励内联样式?

标签 css inline inline-styles

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

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

谢谢:)

最佳答案

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

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

但是,如果这些担忧不适用(它们通常适用),那么就没有可靠的技术理由反对使用内联样式。当您为单个元素指定样式设置时,不希望重复使用这些设置,那么 style attribute 实际上写起来更方便,更紧凑,也更易读。比较 <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 }在另一个文件中。

关于css - 为什么不鼓励内联样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18287445/

相关文章:

javascript - 控制来自不同主机的内容的图像宽度

css 被另一个 css 覆盖

css - 如何在 kendoAutoComplete 上设置

c++ - 为什么 C++17 中的全局内联变量和静态内联成员需要守卫?

c++ - 类具有内部定义的函数时的链接错误

html - 遇到移动与桌面样式的问题

javascript - 如何保护我注入(inject)的元素 CSS?

javascript - Internet Explorer 和 Firefox 将内联 CSS 转换为奇怪的东西

reactjs - 即使我传递一个对象,React 也会将内联样式属性视为字符串

printing-web-page - 使用内联 CSS 打印网页