Wie positioniere ich eine div-Bildlaufleiste auf der linken Seite?
Lesezeit: 6 Minuten
Ist es möglich, eine Position (linke oder rechte Seite) für die Platzierung einer vertikalen Bildlaufleiste auf einem div anzugeben?
Betrachten Sie zum Beispiel diese Seite was erklärt, wie das overflow-Attribut verwendet wird. Gibt es eine Möglichkeit, diese Bildlaufleiste auf der linken Seite des scrollbaren Bereichs zu platzieren?
Schau mal in diesen Thread. Zeigt einige der Einschränkungen, die ich fürchte. stackoverflow.com/questions/5123417/…
– Graeme Leighfield
8. September 11 um 11:54 Uhr
mögliches Duplikat der HTML-Element-Bildlaufleiste auf der linken Seite
– peirix
8. September 11 um 11:58 Uhr
Du könntest es versuchen direction:rtl; in deinem CSS. Setzen Sie dann die Textrichtung im Inneren zurück div
Ich denke, IE und Opera sind die einzigen Browser, die die Bildlaufleiste für RTL-Inhalte links platzieren.
– Joey
25. Oktober 11 um 13:22 Uhr
@Joey stimmt nicht auch Chrom unter Ubuntu
– Tom
25. Juli 13 um 22:03 Uhr
Ich möchte bestätigen, dass sich Chrome 32 auf der linken Seite befindet. Und an dieser Stelle ist es nicht verwunderlich, dass Firefox in CSS ein Nachzügler ist
– Georg Mauer
23. Januar 14 um 16:52 Uhr
Funktioniert auf Chrome/Mac und Firefox/Mac, aber nicht auf Safari/Mac
– Maxime Schöni
4. Januar 16 um 11:37 Uhr
@GeorgeMauer Mozilla hat den Scrollbalken absichtlich rechts für RTL-Inhalte gelassen. Damals glaubten wir, dass es ein Usability-Problem wäre, wenn der Benutzer sein Muskelgedächtnis basierend auf dem aktuellen Seiteninhalt ändern müsste. Ich habe an dieser Diskussion teilgenommen, die in Mozillas Bugzilla zu finden ist.
Optional hinzufügen class="item_direction zu jedem Element, um die Richtung des Textflusses zurück zu ändern, während die Containerrichtung beibehalten wird.
Gerne gehorchen.
– Jasonleonhard
1. Mai 18 um 22:28 Uhr
Als Nebenbemerkung: Diese Antwort ist kein gültiges HTML, da sie doppelte IDs enthält. Es sollte sein class="item_direction" anstatt id="item_direction" und .item_direction { anstatt #item_direction {.
– Umzug
25. August 18 um 16:47 Uhr
Entschuldigung, ich habe schnell geantwortet und einen Fehler gemacht, Sie haben Recht und ich habe meine Antwort aktualisiert.
– Jasonleonhard
25. August 18 um 21:22 Uhr
Sie können auch eine andere CSS-Regel verwenden, um die Richtung für alle direkten untergeordneten Elemente zurückzusetzen: .list_container > * { direction: ltr; }
– Erich Schreiner
20. Januar 20 um 6:08 Uhr
Was für eine absolute Legende du bist.
– Dima Malko
8. Dezember 21 um 13:53 Uhr
Irgendwie eine alte Frage, aber ich dachte, ich sollte eine Methode einwerfen, die nicht allgemein verfügbar war, als diese Frage gestellt wurde.
Sie können die Seite der Bildlaufleiste in modernen Browsern mit umkehren transform: scaleX(-1) auf einen Elternteil <div>, und wenden Sie dann dieselbe Transformation an, um ein untergeordnetes “sleeve”-Element umzukehren.
.parent {
overflow: auto;
transform: scaleX(-1); //Reflects the parent horizontally
}
.sleeve {
transform: scaleX(-1); //Flips the child back to normal
}
Hinweis: Möglicherweise müssen Sie eine verwenden -ms-transform oder -webkit-transform Präfix für Browser so alt wie IE 9. Prüfen Kann ich benutzen und klicken Sie auf “Alle anzeigen”, um ältere Browseranforderungen anzuzeigen.
Dies ist eine der herausragendsten Lösungen.
– Miron
6. September 17 um 5:17 Uhr
Danke! Soweit ich weiß, funktioniert das Ändern der Textrichtung auch. Die Transformationseigenschaft fühlt sich einfach … eleganter an? Zumindest ist es semantisch korrekter. 🙂
– Dom Ramírez
23. September 17 um 0:35 Uhr
Ich denke, dass Sie mit dieser Methode auch von einigen GPU-Verbesserungen profitieren. Ich fliege in einem Menü von der rechten Seite des Bildschirms und möchte nicht, dass die Bildlaufleiste des Menüs neben der Bildlaufleiste der Seite erscheint … zu verwirrend. Ich bekomme damit weniger Animationsruckeln als mit der Richtungsumschaltung.
– David Studer
10. Oktober 17 um 19:19 Uhr
Ich mag das ein LOOOT .. Danke Mann
– Hady Shaltout
23. April 18 um 23:26 Uhr
Diese Methode kann auch verwendet werden, um die horizontale Bildlaufleiste oben zu platzieren: transform: scaleY(-1)
– Daniel Williams
19. Juli 19 um 14:42 Uhr
Benutzer1597594
Ich habe das gleiche Problem. aber wenn ich hinzufüge direction: rtl; in Tabs und Akkordeon-Combo, aber es stürzt meine Struktur ab.
Der Weg, es zu tun, ist div mit hinzuzufügen direction: rtl; als übergeordnetes Element und für untergeordnetes div-Set direction: ltr;.
Ich denke, IE und Opera sind die einzigen Browser, die die Bildlaufleiste für RTL-Inhalte links platzieren.
– Joey
25. Oktober 11 um 13:22 Uhr
Mendy
Folgendes habe ich getan, damit die rechte Bildlaufleiste funktioniert. Es muss lediglich beachtet werden, dass bei Verwendung von ‘direction: rtl’ auch ganze Tabellen geändert werden müssen. Hoffentlich gibt Ihnen das eine Idee, wie es geht.
Schau mal in diesen Thread. Zeigt einige der Einschränkungen, die ich fürchte. stackoverflow.com/questions/5123417/…
– Graeme Leighfield
8. September 11 um 11:54 Uhr
mögliches Duplikat der HTML-Element-Bildlaufleiste auf der linken Seite
– peirix
8. September 11 um 11:58 Uhr