Browsergröße auslesen
Sheridan
- programmiertechnik
Hallo,
Positionieren per CSS ist eine feine Sache, aber wenn ich mit Height:100% die Höhe eines Div Containers bestimme, ist dieser so hoch wie der Inhalt.
D.h. die Höhe kann von Seite zu Seite varieren und das schaut nicht sehr schön aus, daher möchte ich die Höhe der Seite fix machen, aber nicht mit absoluten Positionen, sondern abhängig von der Bildschirmauflösung bzw. Browserhöhe.
Da die Min-Height Eigenschaft noch nicht von jedem Browser unterstützt wird möchte ich daher die Browsergröße abmessen und die style Eigenschaft Heigh auf diesen Wert setzen.
Wie kann man das realisieren ?
Als serverseitige Scriptsprache verwende ich PHP!
Vielen Dank und
LG,
Sheridan.
Hallo,
Moin!
Positionieren per CSS ist eine feine Sache, aber wenn ich mit Height:100% die Höhe eines Div Containers bestimme, ist dieser so hoch wie der Inhalt.
Welcher Browser? Meine Erfahrung mit width=100% ist, dass das Element dann auch tatsächlich die volle Breite einnimmt.
D.h. die Höhe kann von Seite zu Seite varieren und das schaut nicht sehr schön aus, daher möchte ich die Höhe der Seite fix machen, aber nicht mit absoluten Positionen, sondern abhängig von der Bildschirmauflösung bzw. Browserhöhe.
Wozu brauchst du dass denn? Kann man sich eine Preview davon anschauen?
Da die Min-Height Eigenschaft noch nicht von jedem Browser unterstützt wird möchte ich daher die Browsergröße abmessen und die style Eigenschaft Heigh auf diesen Wert setzen.
Naja, von einem der großen Browser wird sie nicht unterstützt (ich müsste mal schauen, ob der IE auf dem Mac das kann).
Wie kann man das realisieren?
Mit JavaScript, siehe SELFHTML -> JavaScript
Als serverseitige Scriptsprache verwende ich PHP!
Da brauchst du was client-seitiges, weil der Browser dem Server nicht die Bildschirmauflösung verrät (und das ist auch gut so!).
Vielen Dank und
LG,
Sheridan.
Keine Ursache,
Robert
Hallo,
Moin!
Positionieren per CSS ist eine feine Sache, aber wenn ich mit Height:100% die Höhe eines Div Containers bestimme, ist dieser so hoch wie der Inhalt.
Welcher Browser? Meine Erfahrung mit width=100% ist, dass das Element dann auch tatsächlich die volle Breite einnimmt.
Die Breite mit 100% funktioniert ja, nur die HÖHE nicht!!!
D.h. die Höhe kann von Seite zu Seite varieren und das schaut nicht sehr schön aus, daher möchte ich die Höhe der Seite fix machen, aber nicht mit absoluten Positionen, sondern abhängig von der Bildschirmauflösung bzw. Browserhöhe.
Wozu brauchst du dass denn? Kann man sich eine Preview davon anschauen?
Hier mein Gehversuch mit CSS:
http://www.georg-hasenoehrl.at/test_index.htm
Die geringe Höhe schaut doch nicht gut aus, oder?
Die Höhe sollte zumindest die Browserhöhe (-margin 10) haben!
Den Frame links und unten muss man sich wegdenken, da es eine Testseite in meiner bestehenden Frameset-Konstruktion ist. Und von dieser möchte ich weg!
Da die Min-Height Eigenschaft noch nicht von jedem Browser unterstützt wird möchte ich daher die Browsergröße abmessen und die style Eigenschaft Heigh auf diesen Wert setzen.
Naja, von einem der großen Browser wird sie nicht unterstützt (ich müsste mal schauen, ob der IE auf dem Mac das kann).
Wie kann man das realisieren?
Mit JavaScript, siehe SELFHTML -> JavaScript
Als serverseitige Scriptsprache verwende ich PHP!
Da brauchst du was client-seitiges, weil der Browser dem Server nicht die Bildschirmauflösung verrät (und das ist auch gut so!).
Kann der client-seitige Code mit dem PHP seitigen kommunizieren, damit ich zuerst die Höhe auslesen kann und diese dann in einer PHP Variable speichern?
Ich bräuchte Beispiele!!
Vielen Dank und
LG,
Sheridan.Keine Ursache,
Robert
Danke, aber konkrete Beispiele wären mir sehr recht!
Hi,
http://www.georg-hasenoehrl.at/test_index.htm
Die geringe Höhe schaut doch nicht gut aus, oder?
Die Höhe sollte zumindest die Browserhöhe (-margin 10) haben!
das finde ich nicht. Im Gegenteil - wozuu sollte die Seite dreimal so hoch sein wie der Inhalt?
Was zugegeben etwas ungewöhnlich aussieht ist der (noch) geringe Inhalt. Warum setzt Du nicht sinnvoller Weise hier an und setzt zusätzliche Inhalte auf die Seite?
freundliche Grüße
Ingo
Hi,
http://www.georg-hasenoehrl.at/test_index.htm
Die geringe Höhe schaut doch nicht gut aus, oder?
Die Höhe sollte zumindest die Browserhöhe (-margin 10) haben!
das finde ich nicht. Im Gegenteil - wozuu sollte die Seite dreimal so hoch sein wie der Inhalt?
Ich finde, der darunter liegende freie Raum nimmt zu viel Platz ein, und mit einer Mindesthöhe könnte man diesen Raum füllen.
Was zugegeben etwas ungewöhnlich aussieht ist der (noch) geringe Inhalt. Warum setzt Du nicht sinnvoller Weise hier an und setzt zusätzliche Inhalte auf die Seite?
freundliche Grüße
Ingo
Mit dem Design will ich ja den geringen Inhalt vertuschen *g*
Nein, Spaß: Meine Homepage ist nur eine Visitenkarte, Just for Fun und als Photoalbum gedacht.
Inhalt ist hier eher zweitrangig bzw. kommt noch.
Bin ja in der Designphase *Mit Augen zwincker*
Wie würdest du das Strukuturierenß
Um zuviele Menüebene zu vermeiden, habe ich die Homepage in Portale unterteile (Home,Album,Projekte), damit das Menü fix ist und nur 2 Ebenen hat.
Danke und LG,
Georg!
P.S.: Konkrete Beispiele wären noch immer sehr hilfreich
Hi,
Ich finde, der darunter liegende freie Raum nimmt zu viel Platz ein, und mit einer Mindesthöhe könnte man diesen Raum füllen.
das finde ich nicht. Was eher unschön bzw. ungewöhnlich ist, sind die Proportionen - die Seite ist für die Breite (bei entsprechend breitem Fenster) zu nieddrig.
Mit dem Design will ich ja den geringen Inhalt vertuschen *g*
Nein, Spaß: Meine Homepage ist nur eine Visitenkarte, Just for Fun und als Photoalbum gedacht.
Nana... das wird schon mit dahinterstecken.
Wenn Du wirklich auf den meisten Seiten nur geringe Inhalte unterbringst, dann würde ich das anders machen:
freundliche Grüße
Ingo
Hi,
Ich finde, der darunter liegende freie Raum nimmt zu viel Platz ein, und mit einer Mindesthöhe könnte man diesen Raum füllen.
das finde ich nicht. Was eher unschön bzw. ungewöhnlich ist, sind die Proportionen - die Seite ist für die Breite (bei entsprechend breitem Fenster) zu nieddrig.
Stimmt, das ist es eher.
Irgendetwas hat mich gestört und du triffst es auf den Punkt!
Mit dem Design will ich ja den geringen Inhalt vertuschen *g*
Nein, Spaß: Meine Homepage ist nur eine Visitenkarte, Just for Fun und als Photoalbum gedacht.
Nana... das wird schon mit dahinterstecken.
Wenn Du wirklich auf den meisten Seiten nur geringe Inhalte unterbringst, dann würde ich das anders machen:
- eine feste Breite von 760px oder evtl. in EM passend zur Schriftgröße
- eine größere Schrftgröße
- etwas mehr margin-top
und schon hast Du ein gefälligeres Aussehen bei wenig Inhalt und nicht eine halb oder 2/3 leere Seite (ob der Leerraum nun umrahmt ist oder nicht macht nicht wirklich einen Unterschied.
Gute Idee!
Vielleicht werde ich den Hintergrund mit Bildern versehen, damit bei breiteren Browserbreiten (doppelt-gemoppeltes Wort), damit der Leerraum aufgefüllt wird und das ganze noch schöner wird.
freundliche Grüße
Ingo
Danke für deine konstruktiven Vorschläge,
da erspare ich mir die Browsergröße abfragen.
Hallo Sheridan,
was du brauchst, sind die Eigenschaften window.innerHeight bzw. document.body.clientHeight oder document.body.offsetHeight (letztere beiden nur für MSIE).
http://de.selfhtml.org/javascript/objekte/window.htm#inner_height
Gruß Gernot
Hallo,
Moin!
Positionieren per CSS ist eine feine Sache, aber wenn ich mit Height:100% die Höhe eines Div Containers bestimme, ist dieser so hoch wie der Inhalt.
So, ich hab mir die Seite mal mit Mozilla 1.5 angeschaut und sehe weit und breit kein ernsthaftes Problem. Welches div ist denn genau davon betroffen?
D.h. die Höhe kann von Seite zu Seite varieren und das schaut nicht sehr schön aus, daher möchte ich die Höhe der Seite fix machen, aber nicht mit absoluten Positionen, sondern abhängig von der Bildschirmauflösung bzw. Browserhöhe.
Fällt mir gerade ein: Ich würde an deiner Stelle außerdem noch in Abhängigkeit von Betriebssystem und Browser sämtliche Schriftgrößen setzten, sonst haut das alles nicht hin. Was ich damit sagen will: Wenn man absolutem Positionieren anfängt, macht man ein riesiges Fass mit Würmern auf. Die Startseite meiner Homepage z.B. verwaltet einen größeren Aufwand, damit der Bogen mit den beiden Knöpfen und die Links in der richtigen Höhe montiert sind. Das ist schon nicht mehr schön, deshalb habe ich auf dieses Design für den kompletten Rest verzichtet.
So siehts doch besser aus:
Die geringe Höhe schaut doch nicht gut aus, oder?
Von was? Mein Browserfenster hat sogar ne Scrollbar rechts.
Die Höhe sollte zumindest die Browserhöhe (-margin 10) haben!
?
Den Frame links und unten muss man sich wegdenken, da es eine Testseite in meiner bestehenden Frameset-Konstruktion ist. Und von dieser möchte ich weg!
Was denn für ein Frame?
Kann der client-seitige Code mit dem PHP seitigen kommunizieren, damit ich zuerst die Höhe auslesen kann und diese dann in einer PHP Variable speichern?
Aber klar. Auf der Startseite bestimmst du per JavaScripts screen.availHeight die verfügbare Bildschirmhöhe (innerhalb des Browserfensters) und gibts diese an _jede_ Unterseite als URL-Parameter weiter:
window.open('start.php?height=' + screen.availHeight, '_self');
Das hat allerdings zur Folge, dass du _alle_ Links mit PHP ergänzen musst, z.B.
<a href="seite2.php?height=<?php echo $_GET['height']; ?>">Link</a>
Ich bräuchte Beispiele!!
HTH.
Danke, aber konkrete Beispiele wären mir sehr recht!
Ein Ungeduldiger?
Gruß, Robert