Horizontal scrollen in einem Container
Fingy
- css
0 Matthias Apsel0 Fingy0 Matthias Apsel0 Fingy
0 Der Martin
0 ChrisB0 Herrmann
Hi,
mit der Angabe "overflow-x: auto; (oder scroll)
kann ich einen Scrollbalken erzeugen.
Dieser erscheint am unteren Ende.
Ist es möglich, diesen zusätzlich am oberen Ende des Containers anzubringen?
Gruß
Fingy
Om nah hoo pez nyeetz, Fingy!
mit der Angabe "overflow-x: auto; (oder scroll)
kann ich einen Scrollbalken erzeugen.
Dieser erscheint am unteren Ende.
Ist es möglich, diesen zusätzlich am oberen Ende des Containers anzubringen?
Du hast praktisch keinen Einfluss auf das Aussehen von Bedienelementen des Browsers. Und das ist auch gut so.
Matthias
Du hast praktisch keinen Einfluss auf das Aussehen von Bedienelementen des Browsers. Und das ist auch gut so.
Findest Du?
Ich nicht.
Nehmen wir an, Du hast eine größere Tabelle, die wegen der Breite nach rechts gescrollt werden kann.
Wenn ich erst nach unten blättern muss, um nach rechts zu scrollen und dann wieder nach oben, um die Werte in den ersten Zeilen zu sehen, so ist das unpraktisch.
Natürlich wäre ein Scrollbalken oben noch nicht der Königsweg bei langen Tabellen.
Die nächste bzw. alternative Frage wäre aber gewesen: Kann man den Scrollbalken statt am Ende der Tabelle (des Containers) an das untere Ende des Screenbereichs legen, so dass er immer sichtbar bliebe- wie wenn die ganze Seite gescrollt wird.?
Om nah hoo pez nyeetz, Fingy!
Nehmen wir an, Du hast eine größere Tabelle, die wegen der Breite nach rechts gescrollt werden kann.
Wenn ich erst nach unten blättern muss, um nach rechts zu scrollen und dann wieder nach oben, um die Werte in den ersten Zeilen zu sehen, so ist das unpraktisch.
Da wäre es besser, das Scrollen zu vermeiden.
Matthias
Hi Matthias,
Da wäre es besser, das Scrollen zu vermeiden.
Es ist leider zwingend vorgeschrieben, dass die Werte einer Zeile auch bei kleinsten Breiten in einer Zeile dargestellt bleiben.
Gruß
Fingy
Om nah hoo pez nyeetz, Fingy!
Da wäre es besser, das Scrollen zu vermeiden.
Es ist leider zwingend vorgeschrieben, dass die Werte einer Zeile auch bei kleinsten Breiten in einer Zeile dargestellt bleiben.
Dann gib der Tabelle (oder deren Spalten) eine feste oder Mindestbreite, dann kannst du ggf. die gesamte Seite scrollen.
Matthias
Hallo,
Du hast praktisch keinen Einfluss auf das Aussehen von Bedienelementen des Browsers. Und das ist auch gut so.
Findest Du?
ja, finde ich auch. Denn damit ist gewährleistet, dass die Bedienelemente auch bei noch so ausgefallenen Designs immer leicht erkennbar sind. Man findet sich als Nutzer wesentlich leichter zurecht.
Gerade in diesem Punkt verfluche ich beispielsweise MS Office 2010: Wichtige Bedienelemente wie etwa die Scrollbalken oder auch manche Buttons sind in so schlecht abgestimmten Pastellfarben gehalten, dass man die Abgrenzungen kaum erkennt - und das sogar, wenn man unter Windows 7 aus genau demselben Grund eigentlich das Theme "Windows Classic" eingestellt hat. Office ignoriert das einfach. Pfui.
Nehmen wir an, Du hast eine größere Tabelle, die wegen der Breite nach rechts gescrollt werden kann.
Wenn ich erst nach unten blättern muss, um nach rechts zu scrollen und dann wieder nach oben, um die Werte in den ersten Zeilen zu sehen, so ist das unpraktisch.
Richtig, das ist unbrauchbar. Und ich habe schon etliche Websites gesehen, auf denen das genau so der Fall ist.
Natürlich wäre ein Scrollbalken oben noch nicht der Königsweg bei langen Tabellen.
Die nächste bzw. alternative Frage wäre aber gewesen: Kann man den Scrollbalken statt am Ende der Tabelle (des Containers) an das untere Ende des Screenbereichs legen, so dass er immer sichtbar bliebe- wie wenn die ganze Seite gescrollt wird.?
Ja, denn das ist der Normalfall: Ein Scrollbalken am unteren Fensterrand, wenn er nötig ist.
So long,
Martin
Hi,
mit der Angabe "overflow-x: auto; (oder scroll)
kann ich einen Scrollbalken erzeugen.
Dieser erscheint am unteren Ende.
Ist es möglich, diesen zusätzlich am oberen Ende des Containers anzubringen?
Nur mit CSS allein – nein.
Du könntest ein zusätzliches Element einfügen, dass ein Kindelement mit der selben Breite enthält wie der Inhalt deines eigentlichen scrollbaren Elements – und dann per JavaScript beide Scrollbalken „synchronisieren“.
MfG ChrisB
mit der Angabe "overflow-x: auto; (oder scroll)
kann ich einen Scrollbalken erzeugen.
Dieser erscheint am unteren Ende.
Ist es möglich, diesen zusätzlich am oberen Ende des Containers anzubringen?
Oben nicht, aber man kann ihn unten sichtbar halten, wenn man die Tabelle in einen Container einschließt, z. B. so: jsfiddle.
Nachteile: 1. ein zusätzlicher Container; 2. macht nur Sinn, solange der Viewport den ganzen Container auf einmal darstellen kann; 3. bei zu kleinem Viewport werden evtl. zweimal Scrollbalken erzeugt; 4. bei sehr großem Viewport ist trotzdem immer nur ein kleiner Ausschnitt der Tabelle sichtbar.
Ist es das wert?
Gruß
H.