Kann sich das CSS-Dropdown-Menü wie Windows7-Dropdown-Menüs verhalten?

8

Nehmen wir an, das Menü hat die folgende Struktur:

%Vor%

Und so sieht es aus, wenn es formatiert wird (bitte beachten Sie, dass verschachtelte Untermenüs position: absolute; left: 100%; sind).

Jetzt ist die Frage - kann ich vermeiden, dass sie vom Bildschirm gedrängt wird? Ich suche nach einer Lösung, die Windows7-Menüs verwenden (sie gehen nie vom Bildschirm). Gibt es einen einfachen Javascript-Check? Ich denke, dass nur left: -100%; funktionieren würde, aber unter welchen Bedingungen? Ich brauche nur eine Idee und ich kann das in Javascript schreiben:)

    
Atadj 29.10.2012, 10:13
quelle

3 Antworten

2

Soweit ich weiß, gibt es keine Möglichkeit, diese Prüfung nur mit CSS durchzuführen. Sie müssen JavaScript verwenden. Die einfachste Methode wäre Mouseover / Mouseout (oder Hover, wenn Sie jquery verwenden) an die Elemente zu binden und dann die Elemente x-offset + width mit der Fensterbreite zu vergleichen.

    
roacher 29.10.2012 10:38
quelle
2

Mit einer reinen CSS-Lösung können Sie immer die Position der Untermenüs wechseln. Wenn die erste Position so positioniert wurde, dass sie rechts von ihrer übergeordneten Position angezeigt wird, könnte das folgende (dritte) Untermenü links positioniert werden und so weiter. Vielleicht könnten Sie sogar den :nth-child -Selector verwenden.

Anschließend können Sie Ausnahmen für größere Bildschirme erstellen, indem Sie einfach die linke Position wechseln, beginnend mit dem n-ten Kind-Untermenü (mithilfe von CSS-Medienabfragen).

    
feeela 29.10.2012 12:09
quelle
0

Nein, Sie müssen JavaScript verwenden, um Positionen zu berechnen

    
RomanTheGreat 29.10.2012 10:39
quelle

Tags und Links