Fini jQuery, place au JavaScript natif
Depuis la version 5, Bootstrap ne dépend plus de jQuery. Tous les composants interactifs (modales, tooltips, offcanvas, carousel...) sont réécrits en JavaScript vanilla. Si vous instanciiez vos composants via $('.modal').modal(), il faut désormais passer par l'API des classes exposées globalement ou en import ES module.
import { Modal } from 'bootstrap';
const modalEl = document.getElementById('myModal');
const modal = new Modal(modalEl, { backdrop: 'static' });
modal.show();
Conséquence pratique : tout code legacy qui manipulait des plugins jQuery-Bootstrap doit être migré, et le bundle final est plus léger si vous n'avez plus besoin de jQuery ailleurs.
L'API Sass pour générer des utilitaires sur mesure
La Utility API permet de définir, modifier ou supprimer des classes utilitaires directement depuis vos variables Sass, sans toucher au CSS source. C'est l'équivalent Bootstrap des plugins de configuration qu'on trouve dans Tailwind.
$utilities: map-merge($utilities, (
"cursor": (
property: cursor,
class: cursor,
values: auto pointer grab
)
));
Cela génère automatiquement .cursor-auto, .cursor-pointer, .cursor-grab, avec support responsive si besoin. Utile pour éviter d'écrire du CSS custom pour des besoins mineurs.
Variables CSS natives en complément de Sass
Bootstrap 5 expose désormais un grand nombre de propriétés via des --bs-* custom properties (couleurs, gouttières de grille, rayons de bordure). Cela permet de surcharger un thème au runtime, côté navigateur, sans recompiler Sass :
:root {
--bs-primary: #6f42c1;
--bs-border-radius: 0.75rem;
}
Pratique pour du theming dynamique (mode sombre, marque blanche) piloté par JavaScript.
Grille : gouttières nommées et nouveau breakpoint
Le breakpoint xxl (≥1400px) a été ajouté, et les gouttières se contrôlent via des classes g-*, gx-*, gy-* plutôt que des marges négatives fixes.
g-0supprime toute gouttièregx-4agit uniquement sur l'axe horizontalgy-3agit uniquement sur l'axe vertical
RFS : le responsive font-sizing activé par défaut
Les titres et certaines classes utilitaires appliquent un fluid scaling automatique via clamp() côté Sass, évitant de multiplier les media queries pour ajuster la taille des titres selon le viewport.
Accessibilité et formulaires
Les composants de formulaire ont été harmonisés (form-select, form-check repensé, form-floating pour les labels flottants), avec un focus renforcé sur les attributs ARIA générés automatiquement par les composants JS, réduisant le travail manuel d'accessibilité.