您正在创建一个 HTML 布局。让我们假设您不需要多个样式表的好处,HTML 大小的小幅增加不是问题,并且您有一个只会使用一次的样式。我经常支持在这里使用内联样式,因为我认为重复您的 CSS 类名称或 ID 是您当前不需要并且可能永远不会使用的抽象的成本。
这些天的标准原则是始终使用语义标记和 CSS 样式创建 HTML 布局,所以我在这里遗漏了什么吗?请让我知道你的想法。
即使您只使用一种特定样式,将其与您的其他样式保持一致而不是将其内联仍然有好处。首先,关注点分离可以提高可维护性。如果您知道您将只进行样式更改,则可以在一个地方查找任何更改。另一个好处是不必输入类名的自我记录。通过给该样式命名,即使它只使用过一次,它也会使下面的语义代码更具声明性——您可以读到这个随机的不仅是p
一个段落,它也是一个intro
段落。
当然,这是假设您永远不会再使用该特定样式。如果可能的话,还有更多理由将其分解为命名样式。内联样式并不邪恶,但它们在某种程度上是一种入门药物。
将 HTML 和 CSS 分开的一个优点是您可以在不更改任何 HTML 的情况下重新设计网页外观。
史蒂夫
在某些情况下,我通常会忽略为单个元素的简单样式更改创建新类。当您这样做时,通常很清楚,您需要将该特定样式应用于以后的其他内容的可能性几乎为零。对我来说最常见的情况是当我需要一些东西来让特定的填充/边距出现在正确的位置但它不是一个足够重要的元素来拥有自己的 ID。
这可能不是一个流行的观点,但在那些情况下,我不认为内联样式是邪恶的。
就个人而言,我发现我有一两个元素,我会放入一个内联样式,回去看看我需要的不仅仅是那个元素,所以我会把它改成一个类或者忘记它而不是能够改变它。
您还可以尝试放置某个 div / page 类,并在样式表中为其编写后代样式而不是内联元素。
此外,如果您决定添加 javascript,您将不会有一个标记良好的类,您需要更改它。
通常这对于动态生成的网站来说不是什么大问题,但是当您过度使用大量内联标签时,它可能会成为一个大问题。如果人们希望禁用样式以实现可访问性等,它也会使他们更难——你通常可以通过使用一个类来克服这个问题。
比如说,使用<b style="color:red">bold</b>
body.products div b {color:red} 代替。
我个人是选择器的粉丝,不会使用太多的类。它们更具可重用性,您可以使用样式表在一个地方编辑整个站点。
但这是矫枉过正<p style="font-weight:bold;font-size:1.2em; text-index:20px;">Indented Bold Paragraph</p>
所以它这个<p class="indent bold larger">text</p> instead you can do
or ``<p><b></b></p>
.
“愚蠢的一致性是小人的妖精”
那么,在这种情况下,哪个是愚蠢的一致性?:) 为什么 DRY 优先于标记和样式的分离?
你能确定你的 CSS 规则只会被使用一次吗?更重要的是,你怎么能确定它将来不需要改变,你怎么能确定你会是需要做出改变的人?你确定你甚至需要添加一个类或 id 来定位这个独特的元素吗?
我想我很难看到如何添加
<input type="submit" style="border: 1px solid red;"/>
是不是比 12 个左右的字符更“优越”
<input type="submit" class="b-red">
.b-red {border: 1px solid red;}
或可能等效的字符数
input {border:1px solid red;}
当然,在某些情况下,每个经验法则都可以而且应该被违反。问题是,您从遵循 DRY 中获得的收益超过了遵循标记/样式二分法的重要性吗?