Scrollbar engt Div Bereich ein
Beere
- css
Servus liebe Forumgemeinde,
ich ärgere mich heute schon wieder den ganzen Tag.
Meine Homepage besteht aus mehreren Divs. Nehmen wir an ich hätte ein Div. Mit Hilfe von CSS (Overflow:Auto;) werden dort falls nötig Scrollbars erzeugt.
Dieser Div enthält noch einmal 2 divs. Ein linker mit 80% Breite und ein Rechter mit 20% Breite.
Im Linken div habe ich nun unter anderem eine Tabelle in dem Daten dargestellt werden sollen. Soweit so gut.
Wenn nun aber so viel Text drin steht das die Scroll-Bars erscheinen. Wird der Linke Bereich um so viel schlanker wie die Scrollbars Breit sind. Kann ich das irgendwie verhindern?
Grüße, Beere
Servus Beere,
Wenn nun aber so viel Text drin steht das die Scroll-Bars erscheinen. Wird der Linke Bereich um so viel schlanker wie die Scrollbars Breit sind. Kann ich das irgendwie verhindern?
Was willst du verhindern?
Du willst die Anzeigebreite trotz Scrollbars behalten und einen Teil des Textes dann abschneiden? Oder die Schriftgröße verkleinern?
Das Ziel ist unklar.
Kalle
Hallo,
Das Ziel ist unklar.
Nö. Sie (er?) hat eindeutig gesagt, dass sie (er?) die Scrollbars haben will (overflow:auto;). Nur das Verkleinern des Anzeigebereichs soll verhindert werden.
Viele Grüße
Hallo,
Das Ziel ist unklar.
Nö. Sie (er?) hat eindeutig gesagt, dass sie (er?) die Scrollbars haben will (overflow:auto;). Nur das Verkleinern des Anzeigebereichs soll verhindert werden.
overflow:auto heisst aber: Mal Scrollbar, mal keinen, abhängig von der Größe des Inhalts.
Dann soll sie/er den Platz für die Scrollbars doch auf jeden Fall freihalten, auch falls es nichts zu scrollen gibt. Wenn sie dann angezeigt werden, nehmen sie den dafür vorgesehenen Platz ein.
Hier mal ein Beispiel (hatte ich heute schonmal verlinkt):
http://www.aktivferien.de/v2/af000.php
Gruß, Kalle
Es soll verhindert werden das die Anzeige bzw. die Breite des linken Divs verschlankert wird.
Das Ziel wäre quasi, das die Scrollbar den rechten Div überlagert und so nichts eingeengt wird.
Das Problem ist das ich mit CSS einige Linien darstelle (border:1px ...). Erscheint nun die Scrollbar, ist die Breite der Linie vom linken Div nicht mehr gleich wie die darüber und sieht vom Design her blöd aus.
Ich weiß nicht ob hier Leerzeichen voll ausgegeben werden aber ich probiere es mal. Dabei zunächst die obere Linie. Dann kommt in der unteren Linie der linke div. wenn die Scrollbars (hier | ersheinen) geht die Linie nicht mehr so weit nach aussen wie der obere.
--------------------------------------
----------------------------------- |
|
|
Ich hoffe es ist verständlich. Achja: Sie ;)
hi,
Wenn nun aber so viel Text drin steht das die Scroll-Bars erscheinen. Wird der Linke Bereich um so viel schlanker wie die Scrollbars Breit sind. Kann ich das irgendwie verhindern?
Nein.
Für overflow ist eindeutig definiert:
"In the case of a scrollbar being placed on an edge of the element's box, it should be inserted between the inner border edge and the outer padding edge. Any space taken up by the scrollbars should be subtracted from the computed width/height, thus preserving the inner border edge."
gruß,
wahsaga
Hallo,
Hieße das, nimmt man einen Scrollbar von $px an, müßte man dem Elternelement mit der Eigenschaft overlow:auto einen padding-right von $px geben, und die Elemente innerhalb dieses Elternelementes würden durch das Ein- und Ausblenden des Scrollbars nicht mehr versetzt?
Ich glaube das habe ich falsch verstanden, richtig?
Oder ist dem so?
Ich denke, wenn der Scrollbalken eingeblendet wird, wird padding:$px dann ab der Innenkante des Scrollbars gemessen, oder nicht?
netten Tag
da^Powl
Hallo
Hieße das, nimmt man einen Scrollbar von $px an, müßte man dem Elternelement mit der Eigenschaft overlow:auto einen padding-right von $px geben, und die Elemente innerhalb dieses Elternelementes würden durch das Ein- und Ausblenden des Scrollbars nicht mehr versetzt?
Nö, das Padding wirkt, egal ob die Scrollbar da ist, oder nicht.
Mit overflow:scroll;
häätest du zwar immer die Scrollbalken, auch wenn sie nicht gebraucht werden, aber das "Hüpfen" hätte zwangsläufig ein Ende.
Tschö, Auge