mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 13:18 Benutzername: Passwort: Auto-Login

Thema: Content mit Scrollbar, dem Browserfenster angepasst vom 02.04.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Allgemeines - Nonprint -> Content mit Scrollbar, dem Browserfenster angepasst
Autor Nachricht
7he3rain
Threadersteller

Dabei seit: 02.04.2007
Ort: Schweiz
Alter: -
Geschlecht: Männlich
Verfasst Mo 02.04.2007 15:19
Titel

Content mit Scrollbar, dem Browserfenster angepasst

Antworten mit Zitat Zum Seitenanfang

Ich hab da ein Problem, das mich seit Tagen zur Weissglut treibt.
Auch nach langem Suchen, rumprobieren und Kopf zerbrechen bin ich bishher noch nicht auf die Lösung gekommen (falls es denn eine gibt).

Meine Webseite sollte so aussehen:




Also eine ganz einfache Page mit Header und Footer und den Content in einem scrollbaren Bereich. Das Ganze der Grösse des Browserfensters angepasst. Mit Frames wäre es kein Problem die Webseite so zu basteln, aber die Nachteile von Frames dürften euch ja bekannt sein.

Nun denn, im Internet Explorer würd die Sache ja funktionieren (wenn er im "alten" Modus arbeitet mit dem falschen Box-Modell). In Firefox wird die Seite allerdings so dargestellt:




Warum zum Teufel macht Firefox das so, wenn doch eigentlich alle Höhen-Angaben klar formuliert sind ?
Ich habe schon alles mögliche probiert: die Höhe mit max-height festlegen, die Höhe von den td oder tr-Elementen mit 100% festlegen, die ganze Tabelle mit div-Elementen bauen, ... es klappt einfach nicht.

Ich würds ja verstehen, wenn er die 100% als Höhe des Browserfensters ansehen würde, aber wie man unschwer erkennen kann macht er die Seite um einiges länger als Fensterhöhe+Headerhöhe.

Die einzige Möglichkeit, bei der sich Firefox richtig verhält ist, wenn ich das div oder td-Element mit einer festen (Pixel)Höhe formatiere (z.b. <td style="height:400px">), aber genau das will ich ja nicht. Der Platz im Browserfenster soll für den Inhalt möglichst gut ausgenutzt werden und der Header/Footer immer sichtbar sein, egal wo im Dokument man sich befindet.

Was mich besonders wurmt ist, dass es mit einem genau gleich formatierten iframe anstelle der div-Box problemlos funktioniert (im Code unten auskommentiert):




So, und hier noch der ganze Quellcode:
Code:
<html>
<head>
</head>
<body style="margin:0px;">
<table style="width:100%;height:100%;max-height:100%;table-layout:fixed;">
 <tr>
  <td bgcolor="#A0A0A0" style="width:100px;height:100px;"></td>
  <td bgcolor="#C0C0C0" style="height:100px;"></td>
 </tr><tr>
  <td colspan="2" bgcolor="#E0E0E0" style="padding:25px;">
<!--<iframe style="width:100%;height:100%;" src="http://www.google.ch"></iframe>-->
   <div style="width:100%;height:100%;overflow:auto;border:1px solid;">
     sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>
     dsknfksd<br>sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>dsknfksd<br>
     sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>
     dsknfksd<br>sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>dsknfksd<br>
     sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>
     dsknfksd<br>sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>dsknfksd<br>
     sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>
     dsknfksd<br>sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>dsknfksd<br>
     sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>
     dsknfksd<br>sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>dsknfksd<br>
     sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>dsknfksd<br>sjkfdnsc<br>
    </div>
  </td>
 </tr><tr>
  <td colspan="2" bgcolor="#808080" style="height:20px;">
 </tr>
</table>
</body>
</html>
  View user's profile Private Nachricht senden
haselnusstafel

Dabei seit: 27.06.2006
Ort: -
Alter: 57
Geschlecht: Weiblich
Verfasst Mo 02.04.2007 15:39
Titel

Antworten mit Zitat Zum Seitenanfang

Du solltest den div Bereich von der Höhe kleiner halten, als der eigentliche Inhalt es erlaubt und dann im css dafür overflow:auto; definieren

Probier das mal


Zuletzt bearbeitet von haselnusstafel am Mo 02.04.2007 15:40, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
7he3rain
Threadersteller

Dabei seit: 02.04.2007
Ort: Schweiz
Alter: -
Geschlecht: Männlich
Verfasst Mo 02.04.2007 18:24
Titel

Antworten mit Zitat Zum Seitenanfang

overflow:auto hab ich ja drin im div-element, ist ja auch der Sinn der Sache, dass ein Scrollbalken angezeigt werden soll:
Zitat:
<div style="width:100%;height:100%;overflow:auto;border:1px solid;">


Das div-Element kleiner machen (z.B. height:400px) könnt ich schon, dann würds auch richtig dargestellt werden, aber ich will das div-Element ja genau nicht in der Grösse fixieren, sondern dass es den restlichen Platz einnimmt, der nebst Header und Footer bleibt.

Und wenn ich z.B. height:75% schreibe kommt was ganz komisches raus:


  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Di 03.04.2007 02:15
Titel

Antworten mit Zitat Zum Seitenanfang

Also zu dem Tabellendesign sag ich mal nichts...

Aber bevor du da an irgendwas weiter rumfummelst, würde ich als erstes eine vollständige DTD-Angabe machen, so daß du damit aktuelle Browser in den standardkompatiblen Modus schaltest.
z.B.:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

in die allererste Zeile deines Codes setzen (keine Leerzeile mehr davor).

(Genaueres dazu - wenn es dich interessiert - findest du, wenn du mal eine Suchmaschine nach "Doctype-Switch" fragst.)


Bevor du Dinge ausbesserst oder vieleicht gar versuchst, mit irgendwelchen Hacks irgendwas auszugleichen, so daß dein Dokument in allen Browsern gleich aussieht, sollte der Browser erstmal halt nicht im Quirks-Mode arbeiten.
So, und wenn das gemacht ist, dann würde ich den w3c-Validator (den für HTML und den für CSS) benutzen und schauen, ob da irgendwelche Fehler in deinem Code sind.
Wenn ja, dann berichtige sie alle.
Und dann kann man mal weiter schauen, wo das Problem liegt - falls es dann überhaupt noch ein Problem gibt.
  View user's profile Private Nachricht senden
7he3rain
Threadersteller

Dabei seit: 02.04.2007
Ort: Schweiz
Alter: -
Geschlecht: Männlich
Verfasst Di 03.04.2007 10:15
Titel

Antworten mit Zitat Zum Seitenanfang

Ob mit oder ohne DOCTYPE-Angabe, das ändert an dem Problem auch nichts.
Ausser dass es der Internet Explorer im Quirks-Modus so darstellt wie ich es möchte und im standardkonformen Modus genau gleich "falsch" wie Firefox.

Valid HTML ist es auch (naja, <title>-Tag fehlt, aber das ändert am Design auch nichts)

Ich bin kein HTML-Neuling (auch wenn ich die DOCTYPE-Angabe absichtlich weggelassen habe).
Wer sich mit dem Problem beschäftigt sollte sich doch bitte den Quellcode kopieren und schauen ob er das Design so hinkriegt wie beschrieben statt an irgendwelchen syntaktischen Kleinigkeiten rumnörgeln, die am Aussehen der Webseite nichts ändern.
Sorry für den unfreundlichen Ton, aber ich brauche Hilfe, keinen Unterricht in Schönschreiben. Ich kann valid HTML schreiben, hab mittlerweile alle erdenklichen CSS-Angaben ausprobiert, das Design auf den Kopf gestellt.

Das alles ändert nichts an der Tatsache, dass die standardkonformen Browser aus irgendeinem mir unverständlichen Grund das div-Element grösser machen als die von mir vorgegebenen 100% (auf das Elternelement, also die Tabellenzelle bezogen), obwohl die Angaben dies klar verhindern sollten. Weiss irgendjemand warum ?


Und @rob: Ich weiss zwar nicht, was es an dem Tabellendesign auszusetzen gibt, aber wenn du eine andere Notation kennst, mit der mein Problem behoben wird, dann immer her damit.

*sich nochmals für den genervten Ton entschuldigt*


Zuletzt bearbeitet von 7he3rain am Di 03.04.2007 10:18, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Raumwurm

Dabei seit: 21.12.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 03.04.2007 10:56
Titel

Antworten mit Zitat Zum Seitenanfang

Das Layout selbst wäre ja ziemlich einfach für den FF
und IE7 umzusetzen, nur kacken ebend ältere IEs da
rum - bzw. machen das nur im Quirksmode mit.

Siehe hier:
http://www.cssplay.co.uk/layouts/bodyfix.html
.. und auch noch ziemlich Browserhackverseucht das ganze.
  View user's profile Private Nachricht senden
7he3rain
Threadersteller

Dabei seit: 02.04.2007
Ort: Schweiz
Alter: -
Geschlecht: Männlich
Verfasst Di 03.04.2007 15:53
Titel

Antworten mit Zitat Zum Seitenanfang

Juhu, genau das hab ich gesucht. Vielen Dank! *Thumbs up!*

EDIT:
Soweit ich sehe enthält die Seite gerade mal zwei Browser-Hacks.
Und der einzige Browser, der die Seite im Quirks-Modus rendern muss weil er ja sowieso nicht standard-tauglich ist, ist Microschrott's IE. Damit kann ich gut leben.


Zuletzt bearbeitet von 7he3rain am Di 03.04.2007 18:43, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen content scrollbar
Bild soll an Zellengröße angepasst werden (in Html)
Html seite immer auf div. Monitoren angepasst und ohne menü.
Content Editing, statt Content Management
Div nicht aus browserfenster
Browserfenster modifizieren
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Allgemeines - Nonprint


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.