Die mit calc (100vw - 100%) veröffentlichten Lösungen befinden sich auf dem richtigen Weg, aber es gibt ein Problem: Sie haben für immer einen Rand links von der Größe der Bildlaufleiste, selbst wenn Sie die Größe des Fensters so ändern, dass die Inhalt füllt das gesamte Ansichtsfenster aus.
Wenn Sie versuchen, dies mit einer Medienabfrage zu umgehen, haben Sie einen unangenehmen Moment, da der Rand beim Ändern der Fenstergröße nicht immer kleiner wird.
Hier ist eine Lösung, die das umgeht und AFAIK hat keine Nachteile:
Verwenden Sie Folgendes, anstatt margin: auto zum Zentrieren Ihrer Inhalte zu verwenden:
body {
margin-left: calc(50vw - 500px);
}
Ersetzen Sie 500px durch die Hälfte der maximalen Breite Ihres Inhalts (in diesem Beispiel beträgt die maximale Breite des Inhalts 1000px). Der Inhalt bleibt nun zentriert und der Rand wird schrittweise verringert, bis der Inhalt das Ansichtsfenster ausfüllt.
Um zu verhindern, dass der Rand negativ wird, wenn das Ansichtsfenster kleiner als die maximale Breite ist, fügen Sie einfach eine Medienabfrage wie folgt hinzu:
@media screen and (max-width:1000px) {
body {
margin-left: 0;
}
}
Et voilà!
overflow-y: overlay
in diesem Thread?