gpt4 book ai didi

html - 为什么使用 .h1 而不是实际的 h1?

转载 作者:技术小花猫 更新时间:2023-10-29 11:32:50 27 4
gpt4 key购买 nike

Within the Bootstrap CSS project ,为您的标题标签(H1、H2、H3、H4、H5、H6)提供样式,但也有一系列基于标题的类名(.h1、.h2、.h3、.h4、. h5,.h6).在没有正确使用 H1 标签的情况下使用 H1 的类名有什么好处?我认为您总是希望确保您的 HTML 反射(reflect)您的视觉重要性。

任何解释使用 .h1 而不是使用 h1 标签的充分理由的想法都将不胜感激。

最佳答案

你问:

Why use .h1 instead of actual h1?

简答:

我们的目标是同时使用两者。

.h* 的用处当设计中排版的大小与语义上适当的标题级别不相关时,类就会发挥作用。通过将问题一分为二,我们可以干净利落地解决这两个问题。

第一位是元素/标签。 ' <h*> ' 负责语义、可访问性和 SEO。

第二位是类。 ' .h* ' 负责视觉语义和打印层次结构。

长答案:

我相信这些类的起源来自 OOCSS 元素:

Object-Oriented CSS

自从我上次查看 OOCSS 的最新版本以来,它发生了一些变化,但这里是相关的 heading.css文件,来自较旧的提交,具有 .h1 - .h6我熟悉的类:

6e481bc18f oocss / core / heading / heading.css

来自评论:

.h1-.h6 classes should be used to maintain the semantically appropriate heading levels - NOT for use on non-headings
...
if additional headings are needed they should be created via additional classes, never via location dependant styling

注意上面的强调

有关为什么要使用这些类的详细解释,请参阅:

  1. stubbornella.org : Don’t Style Headings Using HTML5 Sections (这篇文章的作者 Nicole 是 OOCSS 的创建者)
  2. csswizardry.com : Pragmatic, practical font sizing in CSS
  3. Google Groups › Object Oriented CSS › Headings question: Basic concept/usage? (我在 12 年 9 月问过的一个问题)

以上链接的相关引述:

1。 stubbornella.org

... [HTML5] Section elements are meant to help the browser figure out what level the heading really is, but not necessarily to decide how to style it.

So, how do we style headings in an HTML5 world?

... We shouldn’t use sectioning elements for styling. We should let them do the job they were designed for, which is sorting out the document tree, and solve styling issues another way that meets our goals better: with simple reusable class names that can be applied to any of our headings no matter how deep they may be in the sectioning content.

I recommend abstracting site wide headings into classes because then they are portable, predictable, and dry. You can call them anything you like.

2。 csswizardry.com

Another absolutely stellar nugget of wisdom [Nicole Sullivan has] given us is what I call double-stranded heading hierarchy. This is the practice of defining a class every time you define a heading in CSS.

... By assigning a class along with each heading style we now have those styles attached to a very flexible selector that can be moved anywhere, rather than to a very specific and non-movable one.

3。 groups.google.com

这是一个伪 html5 用法示例 (h/t Jamund Ferguson):

<body>
<div class="main">
<h1>Main Heading</h1>
<section>
<h1 class="h2">Section Header</h1>
</section>
</div>
<aside class="side">
<article class="widget">
<h1 class="h3">Sidebar Headings</h1>
</article>
<article class="widget">
<h1 class="h3">Sidebar Headings</h1>
</article>
</aside>
</body>

请通过上面的链接阅读完整的文章(和线程),以获取与此问题/主题相关的更多详细信息。

关于html - 为什么使用 .h1 而不是实际的 h1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19099401/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com