Valentin Dupas

💡 If this is the first course you read from me, please read this small thing : about my courses

Custom Elements

Plutôt que de mettre des <div> partout et de déléguer l'information cruciale à l'identifiant ou à une classe, comme ceci:

<nav>
  <div class="nav-row">
    <a href="#">About me</a>
    <a href="#">Portfolio</a>
    <a href="#">GitHub</a>
  </div>

  <div class="nav-row">
    <a href="#">My Channel</a>
    <a href="#">Discord</a>
  </div>
</nav>

On peut inventer nos propres éléments html (qui se comporteront comme des <div>).

<nav>
  <nav-row>
    <a href="#">About me</a>
    <a href="#">Portfolio</a>
    <a href="#">GitHub</a>
  </nav-row>

  <nav-row>
    <a href="#">My Channel</a>
    <a href="#">Discord</a>
  </nav-row>
</nav>

Il faut cependant que le nom comporte toujours un tiret -. Si vous n'êtes pas inspirés, vous pouvez toujours démarrer vos éléments par x- comme <x-chart> par exemple.

C'est cool, ça fait moins de trucs à lire, et ça nous donne des balises fermantes plus claires, et on pourra leur programmer un comportement dans le cours de JS (pouvoir leur donner un nom n'est que 15% de l'intéret). Au même titre que <textarea> et <details> ont des fonctionnements qui les rendent différents de la simple <div>.

Ceci dit, il ne faut pas non plus en créer autant que possible, les <div> sont toujours pratiques, certaines choses ne meritent pas de nom. Si ils ont tous un nom alors les éléments qui en meritent vraiment un ressortiront moins.