Verhalten, wenn overflow-x und overflow-y gesetzt wurden
In CSS kann man mit den Eigenschaften overflow-x und overflow-y das Verhalten bei übergroßen Inhalten festlegen. Die Eigenschaft overflow-x kann verwendet werden, um das Verhalten bei horizontal hinausragenden Inhalten (bei geringerer Breite) festzulegen und overflow-y, wenn die Inhalte vertikal hinausragen (bei geringerer Höhe). Allerdings gibt es zwischen diesen beiden Eigenschaften gewisse Abhängigkeiten, sodass sie sie sich bei gewissen Werten gegenseitig beeinflussen. Nachfolgend ist das Verhalten diesbezüglich beschrieben, wobei das bei manchen Browsern etwas abweichend sein kann.
Verhalten bei overflow-x: auto; und overflow-y: auto;
Wenn bei beiden Eigenschaften der Wert auf auto gesetzt wurde, ist im Grunde nichts besonderes zu beachten. Der Wert sorgt dafür, dass automatisch vertikale und/oder horizontale Scrollleisten eingeblendet werden, wenn es notwendig ist bzw. wenn die Inhalte vertikal und/oder horizontal aus dem Element hinausragen.
Verhalten bei overflow-x: scroll; und overflow-y: auto;
Wenn diese Werte gesetzt sind, werden horizontale Scrollleisten immer eingeblendet. Diese sind jedoch nur dann aktiv, wenn der Inhalt horizontal aus dem Element hinausragt. Vertikale Scrollleisten werden nur dann automatisch eingeblendet, wenn es erforderlich ist bzw. die Inhalte vertikal aus dem Element hinausragen.
Verhalten bei overflow-x: hidden; und overflow-y: auto;
Sind diese Werte gesetzt, werden horizontal hinausragende Inhalte versteckt bzw. abgeschnitten. Bei vertikal hinausragenden Inhalten werden automatisch Scrollleisten eingeblendet.
Verhalten bei overflow-x: visible; und overflow-y: auto;
Bei diesen Werten verhält es sich anders, als man es vielleicht annehmen würde. Obwohl bei overflow-x der Wert auf visible gesetzt wurde, werden bei horizontal hinausragenden Inhalten automatisch Scrollleisten eingeblendet, was dem Wert von auto entspricht. Das ist gemäß den CSS-Spezifikationen das richtige Verhalten, da der Wert von visible auf auto umgestellt werden soll, wenn den Eigenschaften die Werte visible und auto vergeben wurden.
Verhalten bei overflow-x: auto; und overflow-y: hidden;
Bei diesen beiden Werten werden vertikal hinausragende Inhalte versteckt. Bei horizontal hinausragenden Inhalten werden an den Elementen automatisch Scrollleisten eingeblendet.
Verhalten bei overflow-x: scroll; und overflow-y: hidden;
Falls diese Werte gesetzt sind, werden vertikal hinausragende Inhalte versteckt und es werden immer horizontale Scrollleisten eingeblendet. Diese sind jedoch nur bei Bedarf aktiv bzw. wenn der Inhalt breiter ist als der Container.
Verhalten bei overflow-x: hidden; und overflow-y: hidden;
Sind beide Werte auf hidden gesetzt, spielt es keine Rolle, ob die Inhalte vertikal oder horizontal hinausragen und werden immer versteckt und es werden keine Scrollleisten angezeigt.
Verhalten bei overflow-x: visible; und overflow-y: hidden;
Bei diesen beiden Werten werden vertikal hinausragende Inhalte versteckt. Bei horizontal hinausragenden Inhalten werden automatisch Scrollleisten eingeblendet.
Verhalten bei overflow-x: auto; und overflow-y: scroll;
Mit diesen Werten werden immer vertikale Scrollleisten eingeblendet. Sie sind jedoch nur dann aktiv, wenn die Situation es erfordert. Horizontale Scrollleisten werden automatisch eingeblendet, wenn die Inhalte breiter sind als der Container.
Verhalten bei overflow-x: scroll; und overflow-y: scroll;
Es werden immer Scrollleisten eingeblendet, die bei Bedarf aktiviert werden, wenn beide Werte auf scroll gesetzt sind.
Verhalten bei overflow-x: hidden; und overflow-y: scroll;
Diese Werte sorgen dafür, dass die vertikalen Scrollleisten eingeblendet und bei Bedarf aktiviert werden. Bei horizontal übergroßen Inhalten werden die hinausragenden Teile versteckt.
Verhalten bei overflow-x: visible; und overflow-y: scroll;
Auch bei diesen Werten verhält es sich anders, als man es eigentlich angegeben hat. Die vertikalen Scrollleisten werden immer eingeblendet und bei Bedarf aktiviert. Bei horizontal übergroßen Inhalten werden jedoch ebenfalls Scrollleisten eingeblendet.
Verhalten bei overflow-x: auto; und overflow-y: visible;
Bei diesen Werten ist wieder zu berücksichtigen, dass der Wert für overflow-y von visible auf auto umgestellt wird, da der Wert von overflow-x auf auto gesetzt ist. Somit werden in beide Richtungen bei Bedarf Scrollleisten eingeblendet.
Verhalten bei overflow-x: scroll; und overflow-y: visible;
Diese Werte sorgen dafür, dass horizontal immer Scrollleisten angezeigt und bei Bedarf aktiviert werden. Vertikal werden bei Bedarf Scrollleisten eingeblendet, obwohl man eigentlich bei overflow-y angibt, dass die Inhalte angezeigt werden sollen.
Verhalten bei overflow-x: hidden; und overflow-y: visible;
Horizontal hinausragende Inhalte werden mit diesen Werten immer versteckt und bei vertikal hinausragenden Inhalten werden automatisch Scrollleisten eingeblendet.
Verhalten bei overflow-x: visible; und overflow-y: visible;
Werden beide Werte auf visible gesetzt, entspricht das dem Standardverhalten und die Inhalte ragen hinaus.
Zusammenfassen lässt sich aus dem beschriebenem Verhalten ableiten, dass wenn für beide Eigenschaften Werte gesetzt werden, für die eine Eigenschaft der Wert visible gewählt wurde, dieser auf auto umgestellt wird, wenn für die andere Eigenschaft ein anderer Wert gewählt wurde. Ansonsten entspricht das Verhalten dem, was man angibt.