HTML5 & Bootstrap class = "container", kann es auf body oder nur div angewendet werden?

Ich stoße immer wieder auf dieses Problem, bei dem jeder Folgendes festhält: a) HTML5-Semantik-Tags mit divs umbrechen möchte und b) Klassenselektoren auf die divs und nicht auf die semantischen Tags anwenden möchte. Es ist, als hätten die Leute aus irgendeinem Grund Angst, Klassen auf semantische Tags zu setzen.

Zum Beispiel wird mir ständig gesagt, dass dies "falsch" ist,

<body class="container">
    <header class="row">
        <div class="col-md-12"> ...

Und so etwas ist vorzuziehen,

<body>
   <div class="container">
      <div class="row">
          <div class="col-md-12"> ...

Und hier, wo ich als erstes Beispiel die Spaltenklasse im h2-Tag habe

    <div class="row">
        <h2 class="col-4 feature">Featured Work</h2>
    </div>

Aber "der richtige" Weg ist das Hinzufügen eines weiteren div-Tags, um die Klasse anzuwenden,

    <div class="row">
        <div class="col-4 feature">
            <h2>Featured Work</h2>
        </div>
    </div>

Ich verstehe, dass dies auf Meinungen basiert, aber ich habe festgestellt, dass beim Umgang mit HTML5 Meinungen tatsächlich eine Rolle spielen, da praktisch jeder Probleme hat und es keine andere Möglichkeit gibt, die Details ohne Meinungen herauszuarbeiten.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage