为什么我应该在 <body> 标签上使用 class 或 id?

Why should I use a class or an id on a <body> tag?

我看到很多人给 HTML <body>-tag 一个 id 或 class 来通过 CSS 访问它。当我能够直接将其作为标签本身访问时,我为什么要这样做?

我为什么要这样做?

示例 1:

.body-wrapper {
   margin: 0px 3px;
}

而不是这个?

示例 2:

body {
   margin: 0px 3px;
}

考虑这两种情况:

  • 您的整个页面都有锚点元素。这些锚元素中的每一个都将用户带到页面顶部,如下所示:

    <a href="#top-of-page">Go to top</a>
    

    好吧,页面顶部可能是这样的:<body id="top-of-page">

  • 如果您希望某些元素具有相似的样式,例如边框,该怎么办。

    .frame-this { border: 2px dashed black; }
    

    如果您希望 body 元素有此边框,则需要 class:

     <body class="frame-this"> ... </body>
    

这些场景有些牵强,但它们说明了 body 元素可能需要 idclass 的两个原因。

另请参阅这篇关于 CSS-技巧的文章:Why use Classes or IDs on the HTML element?

如果您想拥有尽可能少的样式表(例如,一个),但仍想自定义某些页面的显示,这将非常有用。

这很有用:

  • 如果您想更改其中一个网页的背景。
  • 如果您想动态更改网站的主题(就像 http://lisperator.net/ 那样,尽管它在 <html> 标签上)
  • 使用 JavaScript 做一些漂亮的事情来转换网页(参见前面的列表项)
  • 是CSS。你可以用它做你想做的事!

有关 CSS Tricks 的更多信息。


Ctrl+U

Ctrl+F。输入 <body.

奇迹中的奇迹! Whosebug 使用 <body> 类!

注意:SO 不直接使用 CSS 设置样式,而是将它们用作 JS

的句柄