{}const=>[]async()letfn</>var
DéveloppementWeb

Questions fréquemment posées sur HTML et CSS lors des entretiens d'embauche pour les développeurs front-end

Vous vous préparez pour un entretien pour un poste de front-end ? Vous imaginez déjà comment vous allez parler des crochets React et des génériques TypeScript, mais l'intervieweur demande soudainement : « Quelle est la différence entre inline et inline-block ? » Et vous êtes comme : surprised_pikachu.jpg. Allons analyser ces mêmes questions qui obligent même les seniors à googler nerveusement avant l'entretien.

К

Kodik

Auteur

calendar_today
schedule8 min de lecture

Bonjour, future victime d'un entretien technique ! 👋

Vous vous préparez pour un entretien pour un poste de front-end ? Vous imaginez déjà comment vous allez parler des crochets React et des génériques TypeScript, mais l'intervieweur demande soudainement : « Quelle est la différence entre inline et inline-block ? » Et vous êtes comme : surprised_pikachu.jpg

Oui, oui, même en 2026, les gens aiment revenir aux bases. Et vous savez quoi ? C'est bien. Parce qu'une personne qui ne comprend pas le modèle de boîte, mais essaie d'expliquer le DOM virtuel, c'est comme un conducteur qui ne sait pas où se trouve la pédale de frein, mais qui parle de moteurs quantiques.

Allons démêler ces mêmes questions qui obligent même les seniors à googler nerveusement avant l'entretien.

1. Modèle de boîte (Box Model) — un classique du genre

Question : En quoi consiste un modèle de bloc ?

Réponse pour l'intervieweur :
Chaque élément est une tarte feuilletée composée de :

  • Content — le contenu lui-même

  • Padding — retrait à l'intérieur de l'élément

  • Border — cadre

  • Margin — retrait externe

Que dire ensuite (pour avoir l'air intelligent) :
« Par défaut, width et height s'appliquent uniquement au contenu. Mais si vous utilisez box-sizing: border-box, les dimensions incluront le padding et la bordure. Cela évite les débordements inattendus et est depuis longtemps la norme en CSS-reset. »

Pourquoi demande-t-on :
99 % des bogues de mise en page sont dus à un oubli de margin ou de padding. Ou quand box-sizing n'est pas celui-là.

🔥 100 000+ étudiants déjà avec nous

Marre de lire la théorie ?
Il est temps de coder !

Kodik — une appli où tu apprends à coder par la pratique. Mentor IA, leçons interactives, projets réels.

🤖 IA 24/7
🎓 Certificats
💰 Gratuit
🚀 Commencer
Ont rejoint aujourd'hui

2. Positionnement : Static, Relative, Absolute, Fixed, Sticky

Question : Quelle est la différence entre les types de positionnement ?

Réponse courte :

  • Static — comportement normal (comme si position n'était pas spécifié du tout)

  • Relative - décalage par rapport à sa position normale

  • Absolute - positionnement par rapport au parent positionné le plus proche

  • Fixed - par rapport à la fenêtre (adhère au défilement)

  • Sticky - hybride relatif et fixe (adhère lorsque le point est atteint)

Piège :
L'élément absolu recherche un parent avec position: relative/absolute/fixed. S'il ne le trouve pas, il est positionné par rapport à <body>. C'est la raison pour laquelle la modale s'envole parfois dans l'espace.

3. Flexbox — le favori de tous les développeurs

Question : Comment centrer un div verticalement et horizontalement ?

Réponse en 2026 :

.container {
  display: flex;
  justify-content: center; /* по горизонтали */
  align-items: center; /* по вертикали */
}

Points supplémentaires :
« Il y a aussi Grid avec place-items: center, mais le flex est plus facile pour les mises en page uniaxiales. »
Si quelqu'un à l'entretien parle de margin: 0 auto et de tableaux, soit il est coincé en 2010, soit il vérifie si vous êtes coincé. 😄

4. Grid vs Flexbox : l'éternel débat

Question : Quand utiliser Grid et quand utiliser Flexbox ?

Bonne réponse :

  • Flexbox — pour les mises en page unidimensionnelles (ligne OU colonne)

  • Grid — pour les mises en page bidimensionnelles (lignes et colonnes simultanément)

Exemple :

  • Navigation, cartes en ligne → Flexbox

  • Toute la mise en page de la page, une grille complexe → Grid

5. Spécificité des sélecteurs (Specificity)

Question : Quel style s'appliquera ?

#header .nav li { color: red; }
.nav li { color: blue; }
li { color: green; }

Réponse :
Rouge, car la spécificité est considérée comme (ID, Class, Tag) :

  • Premier : (1, 1, 1) = 111

  • Deuxième : (0, 1, 1) = 11

  • Troisième : (0, 0, 1) = 1

Astuce de vie :
!important interrompt tout, mais l'utiliser, c'est comme écrire du code en CAPS LOCK. Cela fonctionne techniquement, mais tout le monde vous regardera de travers.

6. Le HTML sémantique n'est pas seulement un mot à la mode

Question : À quoi servent les balises sémantiques ?

<header>, <nav>, <article>, <section>, <footer> ne sont pas seulement des <div> élégants.

Avantages :

  1. SEO — les moteurs de recherche comprennent la structure

  2. Accessibility — les lecteurs d'écran savent où

  3. Lisibilité du code — comprendre plus rapidement ce qui se passe

Anti-modèle :

<div class="header">
  <div class="nav">...</div>
</div>

C'est comme nommer une variable var1, var2 — ça marche, mais pourquoi ?

7. Pseudoclasses vs pseudo-éléments

Question : Quelle est la différence ?

Pseudo-classes (un deux-points) :

a:hover { }
li:first-child { }
input:focus { }

Sélectionne les éléments dans un certain état.

Pseudo-éléments (deux points) :

p::before { content: "👉 "; }
p::after { content: " 👈"; }

Créent des éléments virtuels.

8. Z-index et contexte de superposition

Question : Pourquoi mon élément avec z-index: 9999 est-il toujours sous un autre élément ?

Réponse :
z-index ne fonctionne qu'à l'intérieur de son contexte de superposition.

Créent un nouveau contexte :

  • position: absolute/relative/fixed + z-index

  • opacity < 1

  • transform

  • filter

  • Et encore 10 propriétés
    Si vous voyez dans le code z-index: 99999, sachez que quelqu'un s'est battu désespérément avec un bug et a perdu.

9. Unités de mesure : px, em, rem, vh, vw

Question : Quelle différence ?

Antisèche :

  • px — pixels absolus

  • em — par rapport à la taille de la police parente (en cascade !)

  • rem — concernant la taille de la police <html> (non en cascade)

  • vh/vw — pourcentage de la hauteur/largeur de la fenêtre

  • % — par rapport au parent
    rem est le meilleur choix pour une mise en page réactive moderne. Vous changez la taille de la police en html - tout est mis à l'échelle.

10. Display: none vs Visibility: hidden vs Opacity: 0

Question : Quelle est la différence ?

Réponse :

Propriété

Occupe la place

Disponible pour les événements

Animé

display: none

visibility: hidden

opacity: 0

Quand utiliser quoi :

  • Supprimer complètement - display: none

  • Masquer tout en conservant la place - visibility: hidden

  • Apparition/disparition en douceur — opacity

11. Adaptabilité : Media Queries

Question : Comment rendre un site réactif ?

Syntaxe de base :

/* Mobile first подход */
.container { width: 100%; }

@media (min-width: 768px) {
  .container { width: 750px; }
}

@media (min-width: 1200px) {
  .container { width: 1170px; }
}

Tendance actuelle :
Utiliser clamp() pour un redimensionnement en douceur :

font-size: clamp(1rem, 2vw, 2rem);

12. Variables CSS (Custom Properties)

Question : Comment fonctionnent les variables CSS ?

Exemple :

:root {
  --primary-color: #3498db;
  --spacing: 16px;
}

.button {
  background: var(--primary-color);
  padding: var(--spacing);
}

Avantages par rapport aux variables Sass :

  • Peut être modifié via JavaScript

  • Héritage pris en charge

  • Fonctionnent de manière native dans le navigateur

13. Margin collapse vertical

Question : Pourquoi la marge ne s'additionne-t-elle pas entre les deux blocs ?

Réponse :
Les marges verticales s'effondrent (la plus grande est prise). C'est ce qu'on appelle l'effondrement des marges.

Exemple :

.block1 { margin-bottom: 20px; }
.block2 { margin-top: 30px; }
/* Расстояние между ними = 30px, а не 50px */

Comment désactiver :

  • Conteneur Flexbox/Grid

  • overflow: hidden sur le parent

  • padding ou border sur le parent

14. Inline vs Inline-block vs Block

Question : Quelle est la différence ?

Tableau de vérité :

Type

Largeur/hauteur

Sur une nouvelle ligne

Margin/padding possible

inline

Horizontal uniquement

inline-block

✅ Tout

block

✅ Tout

Exemple de vie :
<span> — inline, <div> — block, et <button> par défaut — inline-block.

15. Pseudoclasse :nth-child() et ses amis

Question : Comment choisir un élément sur trois ?

Réponse :

li:nth-child(3n) { /* Каждый третий */ }
li:nth-child(odd) { /* Нечетные */ }
li:nth-child(even) { /* Четные */ }
li:nth-child(3n+1) { /* 1, 4, 7, 10... */ }

Piège :
:nth-child() compte tous les voisins, même de types différents. Si vous n'avez besoin que de certains, utilisez :nth-of-type().

🚀 Et maintenant, à propos de la formation (sans être ennuyeux)

Ok, vous avez lu toutes ces questions, peut-être même que vous avez pris quelques notes. Mais soyons honnêtes, dans une semaine, la moitié vous sera sortie de la tête. C'est ainsi que fonctionne notre cerveau.

Problème : La théorie sans pratique, c'est comme regarder une vidéo « Comment apprendre à nager ». C'est clair, mais essayez de ne pas vous noyer.

Solution : Pratique, pratique, pratique. Et pas seulement « ouvrir l'éditeur et écrire trois lignes », mais systématiquement.

Voici où vous pouvez vraiment vous entraîner :

Code - une application mobile pour apprendre la programmation, où :

  • La théorie est dosée petit à petit (sans surcharge)

  • Immédiatement pratique dans les tâches interactives

  • Vous apprenez directement sur votre téléphone (dans le métro, dans la file d'attente, n'importe où)

  • Cours de Python, JavaScript, HTML/CSS et autres technologies

L'astuce est que vous ne lisez pas seulement « comment fonctionne flexbox », mais que vous créez immédiatement de vrais éléments. La mémoire musculaire se forme et, lors de l'entretien, vos mains se souviendront de la syntaxe.

Bonus - Chaîne Telegram Kodik — une communauté où nous partageons des publications utiles et des astuces de vie, discutons des dernières fonctionnalités des langages et des frameworks, aidons à comprendre si quelque chose n'est pas clair.

Conclusion : comment ne pas se planter lors d'un entretien ?

Trois règles d'or :

  1. Ne paniquez pas si vous ne connaissez pas la réponse. Il vaut mieux dire honnêtement « Je ne suis pas sûr, mais je suppose... » et raisonner logiquement que de dire des bêtises.

  2. La pratique est plus importante que le par cœur. Créez des projets personnels, copiez vos sites préférés, cassez et réparez. Faire avec ses mains, c'est ce dont on se souvient le mieux.

  3. Compréhension > Mémorisation. Savoir que display: flex rend les éléments flexibles ne suffit pas. Comprendre pourquoi et quand l'utiliser, c'est ce dont vous avez besoin.

Bonne chance pour l'entretien ! Que la force soit avec toi. 🚀

🎯Arrête de reporter

Tu as aimé l'article ?
Place à la pratique !

Avec Kodik, tu ne lis pas seulement — tu codes immédiatement. Théorie + pratique = vraies compétences.

Pratique instantanée
🧠L'IA explique le code
🏆Certificat

Sans inscription • Sans carte