[GastForen Web allgemein HTML und CSS / Stylesheets scrollbars anzeigen/erzwingen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

scrollbars anzeigen/erzwingen

FSt
  
Beiträge gesamt: 1963

7. Nov 2005, 16:10
Beitrag # 1 von 3
Bewertung:
(52979 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute

Ich möchte bei einer Website die Scrollbars anzeigen, ob nötig oder nicht.
Die Website wird dynamisch erzeugt und ist mit relativen Angaben gebaut. Jetzt springt mir die Website jedesmal in der Breite um die paar Pixel wenn der Content länger als der Bildschirm wird...

Danke für alle Tipps...

Gruss
FSt
X

scrollbars anzeigen/erzwingen

Urs Gamper
  
Beiträge gesamt: 4019

7. Nov 2005, 21:26
Beitrag # 2 von 3
Beitrag ID: #194787
Bewertung:
(52970 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin
Das hat mich auch schon oft geärgert und deshalb hast du mich nun veranlasst, etwas zu googeln ;-)

Dies hier habe ich gefunden:
Möglichkeit 1
Man setzt mit CSS die Höhe der kompletten Seite im body-Tags auf 101 Pronzent
body { height 101%; }

Möglichkeit 2
Die Scrollbars werden immer erzwungen, jedoch wird dann auch die unschöne horizontale Leiste angezeigt.
body { overflow:scroll; }

Möglichkeit 3
Der komplette Inhalt wird in einen unsichtbaren DIV-Container gesetzt, dem dann das Scrollverwalten definiert wird.
body { overflow:hidden; }

Grüessli
Urs


als Antwort auf: [#194714]

scrollbars anzeigen/erzwingen

FSt
  
Beiträge gesamt: 1963

8. Nov 2005, 10:08
Beitrag # 3 von 3
Beitrag ID: #194860
Bewertung:
(52965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Urs

Danke für Deine rasche Antwort. War schon bei SELFHTML und hatte dazu nichts gefunden. Bei Google findet man in der Regel schon viel - wenn einem die richtigen Suchbegriffe einfallen - (schäm) ;-)

Antwort auf: Möglichkeit 1
Man setzt mit CSS die Höhe der kompletten Seite im body-Tags auf 101 Pronzent
body { height 101%; }

Besser ist:
html { height: 101%; }
da der body ja gerade eben nicht den ganzen Bildschirm füllt.

Varianten dazu:
html { min-height: 100%; margin-bottom: 1px; }
Hier wird nur um 1 Pixel gescrollt. Der User erält so nicht den eindruck er hätte irrgend einen Inhalt nicht gefunden. 1% ist schnell mal über 10 Pixel gross.
Nachteil: Opera 8.50 schafts wieder mal nicht.
html { height: 100%; margin-bottom: 1px; }
Jetzt gehts auch mit dem Opera.

Fazit:
Funktioniert im IE, ff und Opera und ist valid. Scheint die einzige Hilfskrücke zu sein die "alle meine Anforderungen" knapp erfüllt.

Antwort auf: Möglichkeit 2
Die Scrollbars werden immer erzwungen, jedoch wird dann auch die unschöne horizontale Leiste angezeigt.
body { overflow:scroll; }

Auch hier, sollte es auf den html-tag angewendet werden, da sonst die horizontalen Scrollbars plötzlich mitten im Bildschirmfenster erscheinen, also
html { overflow:scroll; }

Variante:
html { overflow: -moz-scrollbars-vertical; }
Jetzt haben ff und moz die scrollbar. NS versteht html-tag nicht und wendet es auf das body-tag an. Opera kann nichts damit anfangen.

Fazit:
Dieser Code ist _NICHT_ valid, erfüllt aber bei den meisten Browsern genau das was ich gesucht habe. Opera liegt zurzeit bei weniger als 2% Marktanteil.

Antwort auf: Möglichkeit 3
Der komplette Inhalt wird in einen unsichtbaren DIV-Container gesetzt, dem dann das Scrollverwalten definiert wird.
body { overflow:hidden; }

Sicherlich ein Weg. Aber nicht immer umsetzbar. Manchmal kann ich bei einem CMS den CSS beeinflussen, kann/darf aber am HTML-Code nichts machen.

Wer noch weitere Varianten oder andere Lösungen kennt. Bitte einfach unten anfügen.
Mals sehen, ob wir hier nicht einen kleinen "Lösungs-Katalog" hinkriegen.

Danke und Gruss
FSt


als Antwort auf: [#194787]