.app { min-height: 100vh; width: 100%; background-color: #f8fafc; display: flex; flex-direction: column; } .contentWrapper { display: flex; flex: 1; min-height: 100vh; } .main { flex: 1; /* Sans min-width:0 un élément flex garde min-width:auto et déborde de son conteneur dès qu'il contient un bloc large (tableau, titre non coupable) : la page entière part alors plus large que l'écran. */ min-width: 0; margin-left: 16rem; padding: 2rem; min-height: 100vh; } @media (max-width: 768px) { .contentWrapper{flex-direction:column} .main { margin-left: 0; } }