63 votes

Pourquoi utiliser .h1 au lieu de h1?

Dans le Bootstrap CSS projet, les styles sont fournis pour votre balises d'en-tête (H1, H2, H3, H4, H5, H6), mais il y a aussi une série de noms de classe basé sur les rubriques (.h1, .h2, .h3, .h4, .h5, .h6). Qu'est-ce que l'avantage tiré de l'utilisation du nom de classe d'un H1 sans correctement à l'aide de la balise H1? Je pense que vous en voulez toujours vous assurer que votre HTML est le miroir de l'importance visuelle.

Toutes les pensées d'expliquer une bonne raison pour l'utiliser .h1 au lieu d'utiliser une balise h1 serait appréciée.

59voto

mhulse Points 1992

Vous demandez:

Pourquoi utiliser .h1 , au lieu de réelle h1?

Réponse courte:

L'objectif est d'utiliser les deux, ensemble.

L'utilité de l' .h* classes entre en jeu lorsque la taille de la typographie dans la conception n'est pas en corrélation avec le point de vue sémantique appropriée niveaux de titre. Diviser le problème en deux, nous pouvons proprement résoudre pour les deux.

Le premier bit est l'élément/tag. Le '<h*>' prend soin de la sémantique, de l'accessibilité et de RÉFÉRENCEMENT.

Le deuxième bit est la classe. Le '.h*' prend soin de visual sémantique et typographiques de la hiérarchie.

Réponse longue:

Je crois que les origines de ces classes viennent de OOCSS projet:

Orientée objet CSS

La dernière itération de la OOCSS a un peu changé depuis la dernière fois que j'ai regardé, mais voici la pertinente heading.css le fichier, à partir d'une ancienne commettre, qui a l' .h1 - .h6 les classes que je suis familier avec:

6e481bc18f oocss / core / rubrique / heading.css

À partir des commentaires:

.h1-.h6 les classes doivent être utilisés pour maintenir la sémantique appropriée niveaux de titre - ne PAS utiliser sur des non-titres
...
si des titres supplémentaires sont nécessaires, elles doivent être créées par le biais de classes supplémentaires, jamais via l'emplacement pour personne à charge style

Note de l' accent mis ci-dessus.

Pour une bonne explication des raisons pour lesquelles on pourrait utiliser ces classes, voir:

  1. stubbornella.org: Ne pas le Style, en-Têtes à l'Aide de HTML5 Sections (Nicole, l'auteur de ce post, est le créateur de OOCSS)
  2. csswizardry.com: Pragmatique, pratique taille de police en CSS
  3. Google Groupes › Orienté Objet CSS › Têtes question: concept de Base/d'utilisation? (Une question que j'avais posée de retour en septembre '12)

Pertinentes des devis à partir des liens ci-dessus:

1. stubbornella.org

... [HTML5] les éléments de Section sont destinées à aider le navigateur comprendre à quel niveau de la rubrique est réellement, mais pas nécessairement décider de la manière de style.

Alors, comment faisons nous de style en-têtes dans un HTML5 monde?

... Il ne faut pas utiliser le sectionnement des éléments de style. Nous devrions les laisser faire le travail pour lequel ils ont été conçus pour, qui est de faire le tri dans l'arborescence du document, et de résoudre les questions de style d'une autre manière qui répond à nos objectifs de mieux: avec simple réutilisables noms de classe qui peut être appliqué à l'un de nos têtes n'importe quelle profondeur ils peuvent être dans la section contenu.

Je recommande l'abstraction de l'ensemble du site des titres en cours parce qu'alors ils sont portables, prévisible, et sèche. Vous pouvez les appeler comme vous le souhaitez.

2. csswizardry.com

Un autre absolument stellaire pépite de sagesse [Nicole Sullivan a] qui nous est offert est ce que j'appelle la double-brin tête de la hiérarchie. C'est la pratique de la définition d'une classe à chaque fois que vous définissez une rubrique dans le CSS.

... Par l'affectation d'une classe avec chaque style d'en-tête que nous avons maintenant ces styles attachés à une très flexible sélecteur qui peut être déplacé n'importe où, plutôt que de façon très spécifique et non délocalisables.

3. groups.google.com

Voici un pseudo-html5 exemple d'utilisation (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>

Veuillez lire l'intégralité des articles (et fils), via les liens ci-dessus, pour de plus amples informations relatives à cette question/sujet.

32voto

animuson Points 23184

La plupart des feuilles de style ont un ensemble de polices qui correspondent à des styles de titre 1 à 6. Parfois, d'ailleurs sur la page, concepteurs de sites web souhaitez utiliser ces mêmes tailles de police sur le texte qui doit pas être une partie d'un élément d'en-tête, pour des raisons sémantiques. Plutôt que de fournir des noms pour chacune de ces tailles comme .size-12, .size-14, .size-16, etc, il est plus facile de citer tous les noms de classe similaire à vos en-têtes. De cette façon, vous savez que le texte sera de la même taille comme un élément H1, même si ce n'est pas vraiment un élément H1. Je l'ai fait quelques fois moi-même.

8voto

Mike Hometchko Points 1337

Quelques raisons auxquelles je peux penser:

  • Utiliser div au lieu d'une balise appropriée pour obtenir le visuel d'un en-tête sans impact sur le référencement
  • Pour éviter les complications dues aux incohérences du navigateur
  • Compatibilité avec d'autres bibliothèques et frameworks qui choisissent de faire la même chose pour les raisons 1 et 2
  • Flexibilité de la conception (notée par @scrappedcola dans les commentaires)

5voto

Byrån Points 588

Cela permet une séparation de la hiérarchie visuelle forme sémantique de la hiérarchie. par exemple, je veux dire à l'observateur d'une chose, en disant à un ordinateur (moteurs de recherche) quelque chose d'autre.

<article>
    <h1 class="h1">Page Title</h1>
    <p>Some content</p>
    <section>
        <h1 class="h2">Section Heading</h1>
        <div class="h6">Sub Heading</div>
        <p>Some content</p>
    </section>
    <section>
        <h1 class="h2">Section Heading 2</h1>
        <div class="h6">Sub Heading 2</div>
        <p>Some content 2</p>
    </section>
</article>

Voir:

1voto

Becuzz Points 3255

La seule chose que je peux penser de la main gauche est pour les moteurs de recherche. Beaucoup vont regarder un réel h1 comme le titre ou le sujet d'une page et l'utiliser pour des recherches, etc. Le fait d'avoir plusieurs balises h1 peut confondre les spiders des moteurs de recherche et peut bousiller les recherches qui serait de retour pour votre site (j'ai aussi entendu qu'il peut vous obtenir sur le "mauvais site" liste avec quelques araignées comme Google).

Ayant la styles vous permet d'avoir le même aspect visuel d'un élément sans vissage des moteurs de recherche.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X