2016-11-21 3 views
0

Ich arbeite an einigen CSS für eine Navigationsleiste, und ich muss ein max-height und overflow-y: scroll für das Dropdown verwenden, um sicherzustellen, dass es auf der Seite passt . Wenn ich jedoch die Eigenschaft overflow-y auf Scrollen einstelle, scheint es automatisch zu erzwingen, dass overflow-x auch auf scroll gesetzt werden muss, und als Ergebnis werden Untermenüs ausgeblendet.Wie Überlauf-y arbeiten unabhängig von Überlauf-x

Siehe jsfiddle unten für ein funktionierendes Beispiel

https://jsfiddle.net/5eyveyfz/

EDIT: Ich sollte die Verwendung meiner Geige klären. Das Problem tritt auf, wenn Sie den Mauszeiger auf den Menüpunkt "SubMenu 1" bewegen, der das betreffende Untermenü anzeigt. Das erwartete Verhalten ist, dass dieses Untermenü ohne Scrollbalken sichtbar ist, sondern seine verhalte als ob overflow-x wurden auf scroll

+0

Ich sehe keine horizontale Bildlaufleiste in Ihrer Geige. Vielleicht verstehe ich Ihre Frage nicht richtig –

+0

@MichaelMcCoy, siehe meine Bearbeitung, tritt das Verhalten beim Versuch, das Untermenü zu öffnen, durch den Mauszeiger über den Menüpunkt "SubMenu1" –

+0

@epascarello ja, warum würden Sie denken, dass es nicht ist? die jQuery-Teile funktionieren genau wie erwartet, es ist das CSS, das mir Probleme bereitet –

Antwort

0

diese Werte ändern, wird das Drop-down direkt unter dem Untermenü Überschrift zeigen:

#menu > ul { 
overflow-y:scroll; 
overflow-x:hidden; 
max-height:300px; 
} 

.submenu { 
position:relative; 
display: none; 
left:0; 
top:0; 
} 

Wenn Sie die linke Position halten möchten, müssen Sie den Behälter breiter machen oder es zu Anzeige ändern: inline-block; ohne eine Breite einzustellen, um sich an die Größe des Inhalts anzupassen.

0

Während es in Ihrer Geige dies nicht zu tun - ist es möglich, die Daten, die Sie in Ihrer aktuellen Build bevöl zwingt den Tisch, seine Breite überzulaufen?

Wenn ja, ändern Sie den Container in overflow-x: hidden; um die horizontale Bildlaufleiste zu verhindern.

+0

Es tut mir leid, vielleicht bin ich nicht klar. Das Problem ist, dass das Untermenü, das durch den Mauszeiger über dem Element "SubMenu1" ausgelöst wird, ausgeblendet wird, da das Verhalten auf "scrollen" gesetzt ist, wenn es explizit in der CSS-Datei als sichtbar deklariert ist –

Verwandte Themen