div overflow:scroll - Keine Scrollbalken vorhanden
Volker
- css
0 der-doktor0 Gernot Back0 Detlef G.
Konnte leider nirgendwo im Forum einer Antwort auf mein Problem finden. Deswegen schreibe ich mal einen neuen Thread.
habe folgendes Element in der css-Datei:
div#content {
width:530px;
height:500px;
background-image:url(images/All_03.gif);
position:absolute;
left:100px;
top:250px;
padding-left:20px;
overflow: auto;
}
Wenn es jetzt aber zu einem Overflow kommt, werden weder im IE noch in FF die Scrollbars angezeigt. Beim IE kann man mittels des Scrollrades im Text scrollen, im FF muss man den Text markieren und runterziehen, damit es funktioniert.
Wo erscheinen den die Scrollbalen? Direkt in dem DIV oder Rechts daneben (wenn ihr versteht was ich meine)
Rechts daneben ist nämlich direkt das nächste Div und das würde die dann ja evtl überdecken, oder?
Habe auch mal probiert overflow auf scroll zu setzen, da kommt dann aber lediglich beim IE unten ein (horizontaler) Scrollbalken und nicht wie benötigt ein vertikaler.
Hoffe ihr könnt mir irgendwie helfen
Konnte leider nirgendwo im Forum einer Antwort auf mein Problem finden. Deswegen schreibe ich mal einen neuen Thread.
habe folgendes Element in der css-Datei:
div#content {
width:530px;
height:500px;
background-image:url(images/All_03.gif);
position:absolute;
left:100px;
top:250px;
padding-left:20px;
overflow: auto;
}
ich weiss nicht obs hilft, aber versuch mal folgendes:
div#content {
width:530px;
height:500px;
background-image:url(images/All_03.gif);
position:absolute;
left:100px;
top:250px;
padding-left:20px;
overflow-y:scroll;
overflow-x:auto;
}
wobei das argument scroll zwingend einen balken erzeugt und auto nur wenns nötig ist oder so ähnlich... :)
grüße,
der doktor
Hallo Volker,
Wenn es jetzt aber zu einem Overflow kommt, werden weder im IE noch in FF die Scrollbars angezeigt. Beim IE kann man mittels des Scrollrades im Text scrollen, im FF muss man den Text markieren und runterziehen, damit es funktioniert.
Ich sehe überhaupt kein Problem; bei mir erscheinen in allen relevanten Browsern Scrollbalken, so wie von dir gewünscht, wenn man nur genug Inhalt in das DIV-Element packt. Hast du diesem denn auch das Attribut id="content" gegeben?
Gruß Gernot
Hallo Volker
div#content {
width:530px;
height:500px;
background-image:url(images/All_03.gif);
position:absolute;
Ist absolute Positionierung wirklich nötig?
left:100px;
top:250px;
padding-left:20px;
Dir ist bewusst, dass dein Div damit eine Breite von 550px hat?
(#content erstreckt sich also bis 650px)
overflow: auto;
}
... Beim IE kann man mittels des Scrollrades im Text scrollen, im FF muss man den Text markieren und runterziehen, damit es funktioniert.
Also funktioniert overflow:auto, wie von dir gewünscht (das Scrollrad
funktioniert bei Mozillas leider nicht).
Wo erscheinen den die Scrollbalen? Direkt in dem DIV oder Rechts daneben (wenn ihr versteht was ich meine)
normalerweise innerhalb des Elementes
Rechts daneben ist nämlich direkt das nächste Div und das würde die dann ja evtl überdecken, oder?
Wirklich daneben oder auch absolut positioniert?
(eventuell auf 630px, womit es um 20px überlappt)
Habe auch mal probiert overflow auf scroll zu setzen, ...
Damit erzeugst du die Scrollbalken immer, egal ob nötig.
... da kommt dann aber lediglich beim IE unten ein (horizontaler) Scrollbalken und nicht wie benötigt ein vertikaler.
Wohl weil der vertikale Scrollbalken verdeckt wird.
Gib dem Nachbarelement doch einmal zum Test einen Border, aber keinen
Hintergrund, damit du zwar seine Position siehst, es aber transparent ist.
Hoffe ihr könnt mir irgendwie helfen
Verzichte auf absolute Positionierungen, wo sie nicht in Ausnahmefällen für
ganz bestimmte Effekte nötig sind.
Bestimme die Anordnung der Seitenelemente stattdessen mit margin, padding,
float und clear.
Auf Wiederlesen
Detlef
Hallo Volker
div#content {
width:530px;
height:500px;
background-image:url(images/All_03.gif);
position:absolute;Ist absolute Positionierung wirklich nötig?
Weis jetzt gerade garnicht wad absolute genau bedeutet. Habe eine Seite von nem Kumpel weiterbearbeitet, und da war das drin.
left:100px;
top:250px;
padding-left:20px;Dir ist bewusst, dass dein Div damit eine Breite von 550px hat?
(#content erstreckt sich also bis 650px)
Das ist mir neu, und da wird dann auch wohl das Problem liegen. Besten Dank
Wirklich daneben oder auch absolut positioniert?
(eventuell auf 630px, womit es um 20px überlappt)
Ganz genau. Das wird's sein.
» »» Hoffe ihr könnt mir irgendwie helfen
JA. DANKE! Es funktioniert!!!
Auf Wiederlesen
Detlef
Gruß Volker
Hallo Volker
Weis jetzt gerade garnicht wad absolute genau bedeutet.
Lies mal position (Positionsart).
Mit position:absolute nimmst du ein Element praktisch vollständig aus dem
Elementfluss der Seite heraus, um es dann an der durch top und left
angegebenen Position über den restlichen Seiteninhalt zu legen, wie ein
Aufkleber.
Wie sich mehrere so positionierten (aufgeklebte) Elemente überlappen, kann
dann mit z-index (Schichtposition bei Überlappung) festgelegt werden.
Auf Wiederlesen
Detlef
Hallo Detlef.
Mit position:absolute nimmst du ein Element praktisch vollständig aus dem
Elementfluss der Seite heraus, um es dann an der durch top und left
angegebenen Position über den restlichen Seiteninhalt zu legen, wie ein
Aufkleber.
Und was ist mit right und bottom? ;-)
Einen schönen Samstag noch.
Gruß, Ashura
Hallo Ashura
Mir ging es weniger um die konkreten Möglichkeiten der Positionsangabe, als
um die grundsätzliche, aufkleberartige Funktion von position:absolute,
wodurch ich dann wohl nicht zu Ende dachte.
Meine Antwort war unvollständig, du hast selbstverständlich recht.
Bloß gut dass immer jemand aufpasst. ;-)
(wie z.B. auch bei OnChange soll Select-Feld deaktivieren,
dort sollten noch ein paar "nicht hilfreich" hin)
Auf Wiederlesen
Detlef