2012-04-02 2 views
2

Ich experimentiere mit diesem Tutorial codeplay simple navigation with hover. Ich bin nicht in der Lage zu verstehen, warum das Entfernen der overflow: hidden; Eigenschaft aus der .navigation Klasse in diesem Tutorial die Hintergrundfarbe ändert? Ist diese Eigenschaft nicht mit der Entscheidung verbunden, dem Benutzer eine Bildlaufleiste zu geben oder nicht, falls der Text in der Box überläuft.Warum wird in diesem Beispiel die Hintergrundfarbe durch das Entfernen der Überlaufeigenschaft geändert?

+0

Es ändert nicht die 'Hintergrundfarbe'. Wenn floated-Elemente nicht floatende übergeordnete Elemente enthalten, wird das übergeordnete Element minimiert. Sehen Sie sich [diese SO Frage] (http://stackoverflow.com/q/218760/681807) und diesen [Clearing Floats Artikel] (http://www.quirksmode.org/css/clearing.html) für weitere Informationen an andere Lösungen zur Behebung dieses Zusammenbruchs –

Antwort

0

Es ist, weil die li Elemente floated sind. Wenn Sie overflow anders als visible auf einem Wrapper mit floated-Elementen setzen, wird der Wrapper die Elemente wirklich "umhüllen" (andernfalls erkennt er sie nicht und seine Höhe wird Null).

Die overflow ermöglicht es, keine clearfix oder andere Mittel zu verwenden, um den Wrapper den Float zu wickeln. * Wenn Sie die overflow auf visible setzen möchten, dann wäre ein clearfix eines bestimmten Typs erforderlich, um die .navigation Höhe zu gewinnen und die li Elemente darin zu umhüllen.

Verwandte Themen