Bereiche mit divlayer und css
-
IE und Netscape behandeln Styleeigenschaften anders.
Der IE setzt das padding in die Ebene hinein ohne sie dabei in der Größe zu verändern, während der Netscape die Größe der Ebene um das angegebene padding erweitert. Gut möglich das da dein Fehler liegt.
Ich löse solche Paddingprobleme immer, in dem ich in meine Ebene noch eine zweite reinpacke, die dann ein margin bekommt, da das von beiden Browsern gleich interpretiert wird.Vererbung ist möglich wie flenders schon schrieb
div.mainLayer { Eigenschaften }
muss aber mit class="mainLayer" angegeben werden.
-
Um nochmal auf die Tabellen zurüpckzukommen... c-plusplus.net macht das aber auch mit Tabellen *fg*
@bIce: Netscape hat eine seltsame Angewohnheit: Wenn Seiten breiter sind als das Fenster, und es sind mehrere Objekte nebeneinander, wird einfach die nächste Zeile genommen, egal, ob du "position: absolute;" machst oder nicht, wobei das unter Netscape sowieso nie richtig dargestellt wird. Darum würde ich dir empfehlen... da es dir niemand verbieten kann... Tabellen zu verwenden, da kan selbst ein seltsamer Netscape nicht mehr sagen: "Ich mach jetzt mal nen Zeilenumbruch", wenn du verstehst, was ich meine.
-
Ich weiß ja nicht, welchen Netscape du meinst, aber der neuste ist ziemlich Standardkonform, was Stylesheets angeht (im Gegensatz zum IE).
-
Loggy schrieb:
[...]der neuste ist ziemlich Standardkonform, was Stylesheets angeht (im Gegensatz zum IE).
Hä? Das musst du mir jetzt mal erklären... Microsoft hat die Stylesheets im Web quasi erfunden, wie soll denn dann Netscape standardkonform sein und IE nicht? Mag sein, dass sie sich gebessert haben, aber ich surfe... solange ich eine firewall hab... mit dem IE.
-
Egal, wer CSS "erfunden" hat, aber der Standard wird eben nicht von Microsoft festgelegt, sondern vom W3C :p
-
Microsoft hat nicht die Stylesheets erfunden, dass war das W3C (www.w3.org). Der IE unterstützt nur sehr mangelhaft die CSS2 Spezifikation, im Gegensatz zu der Rendering Engine Gecko, welche unter anderem vom Netscape 7 benutzt wird.
-
Echt? Nicht MS? Schade. Na egal, ich finde IE trotzdem besser.
-
Ein tolles Beispiel dafür ist doch die Hover-Eigenschaft. Wieso geht die beim IE denn nur bei Links?? Das ist nicht nur nervig sonder auch voll unverständlich für mich. Alle anderen aktuellen Browser haben damit keine Probleme..
-
Also ich hatte bisher keine Probleme damit... bei mir macht er es wunderbar.
-
Danke erstmal an alle, die geantwortet haben.
flenders schrieb:
Evtl. liegt es daran, dass du gar keine Angabe für position gemacht hast...
Ich hab mit position etwas rumprobiert, doch irgendwie ohne Erfolg, es wurde trotztdem umgebrochen.
MORL schrieb:
IE und Netscape behandeln Styleeigenschaften anders.
... Leider.
Der IE setzt das padding in die Ebene hinein ohne sie dabei in der Größe zu verändern, während der Netscape die Größe der Ebene um das angegebene padding erweitert. Gut möglich das da dein Fehler liegt.
Ich löse solche Paddingprobleme immer, in dem ich in meine Ebene noch eine zweite reinpacke, die dann ein margin bekommt, da das von beiden Browsern gleich interpretiert wird.Ich verstehe zwar nicht was Du meinst, aber als ich die padding-Eigenschaften auskommentierte, wurden die Bereiche erst dann umgebrochen, wenn die Breite des Browserfenster etwa 1/3 des Bildschirms betrug(17 Zoll, 1024/768px). Ist auch sinnvoll, damit man nicht unnötig horizontal scrollen muss. Aber das Problem ist jetzt dass der untere Bereich nicht die gleiche Breite hat, wie die oberen. Und der Abstand zwischen den Bereichen selbst nicht gleich. Ich arbeite aber daran es zu verbessern.
Windoof schrieb:
wobei das unter Netscape sowieso nie richtig dargestellt wird.
Wenn man davon ausgeht dass man nicht weiß, wie es richtig dargestellt werden soll, dann kann man auch sagen, dass IE es falsch macht und Netscape richtig (wenn man hauptsächlich Netscape verwendet - wie ich).
Darum würde ich dir empfehlen... da es dir niemand verbieten kann... Tabellen zu verwenden
Tabellen sind schnell hingetippt, und da ich mit dem Fertigstellen nicht unter Druck stehe, gehe ich die Sache ziemlich langsam an, und sehe dieses Problem eher als Herausforderung
(die mir ebenfalls niemand verbieten kann).
-
bIce schrieb:
Der IE setzt das padding in die Ebene hinein ohne sie dabei in der Größe zu verändern, während der Netscape die Größe der Ebene um das angegebene padding erweitert. Gut möglich das da dein Fehler liegt.
Ich löse solche Paddingprobleme immer, in dem ich in meine Ebene noch eine zweite reinpacke, die dann ein margin bekommt, da das von beiden Browsern gleich interpretiert wird.Ich verstehe zwar nicht was Du meinst, aber als ich die padding-Eigenschaften auskommentierte, wurden die Bereiche erst dann umgebrochen, wenn die Breite des Browserfenster etwa 1/3 des Bildschirms betrug(17 Zoll, 1024/768px). Ist auch sinnvoll, damit man nicht unnötig horizontal scrollen muss. Aber das Problem ist jetzt dass der untere Bereich nicht die gleiche Breite hat, wie die oberen. Und der Abstand zwischen den Bereichen selbst nicht gleich. Ich arbeite aber daran es zu verbessern.
Das ist folgender maßen:
Wenn du eine Ebene mit einer festen Größe erstellst, nehmen wir mal width:200px; height:100px;, dann wirkt sich ein padding in den zwei Browsern unterschiedlich aus.
Wenn nun diese Ebene ein padding:10px 10px 10px 10px; bekommen würde, würde im IE nichts weiter passieren, als das der Inhalt dieser Ebene jeweils 10px Abstand von jedem Rand der Ebene, in die Ebene hinein, hätte.
Ganz anders im Mozilla. Dieser verändert die Größe deiner Ebene um das padding auf 220px Breite und 120px Höhe.Man kann sich nun streiten was vorteilhafter ist, wobei ich persönlich die Interpretation des IE's bevorzuge, denn wenn ich eine Ebende mit einer festgelegten Größe erstelle, möchte ich das daran auch nichts verändert wird.
Wie dem auch sei.Ich würde dir noch raten keine %-Angaben bezüglich der Größen der Ebenen zu verwenden. Man ist dann zwar nicht mehr so flexiebel was die einzelnen Auflösungen betrifft, aber es gibt dann auch weniger Probleme beim gestalten des Inhaltes.
Du könntest eine große Tabelle um den gesamten Inhalt erstellen, in die du dann deine Ebenen legst (das ist auch die einzige Möglichkeit um ein Layout mit Ebenen in der Bildschirmmitte zu plazieren, glaube ich), aber ich will dir da nicht reinreden.
-
MORL schrieb:
Ich würde dir noch raten keine %-Angaben bezüglich der Größen der Ebenen zu verwenden.
Wie willst du ohne % eine nicht fixe Breite haben?
-
Shade Of Mine schrieb:
MORL schrieb:
Ich würde dir noch raten keine %-Angaben bezüglich der Größen der Ebenen zu verwenden.
Wie willst du ohne % eine nicht fixe Breite haben?
Wofür brauch man sowas?
EDIT : Wenn ich eine Ebene ohne Breitenangabe erstelle, dann hat sie immer 100% Breite. Wenn nun aber nur 90% gewünscht sind, dann kann man ja noch eine Tabelle um alles herum machen, da diese von allen Browsern fast gleich interpretiert werden, aber das hatte ich ja schon geschrieben.
-
siehe FAQ warum Tabellen dafür nicht missbraucht werden sollen.
Letztens hatte ich ein super Erlebnis.
Für unser Matura(Abitur) Projekt haben wir unter Anderem auch eine Website erstellt. Dies ist fix auf 1024x768 ausgelegt. Leider hatte ich mit der Website-Erstellung nichts zu tun, sonst wäre das nicht passiert:
Den Laptop den wir für das Projekt zur Verfügung gestellt bekamen kann nur eine Auflösung von 800x600 - sprich die Website sieht beschissen aus. Fazit: neu implementieren.Zum Glück ist es hier nicht um Geld gegangen - denn wenn ich das in der Arbeit abliefere und unser Kunde dann so etwas zu sehen bekommt, steigt er mit sicherheit aus. Und sowas kann mein Chef nicht leiden...
Das nur als kleine Anekdote für Leute die nicht glauben wollen, dass fixe Layouts schlecht sind.
-
Ich sag ja nicht das nicht feste Layouts schlecht sind.
Ich möchte aber mal sehen wie du eine Ebene zentriert positionieren willst, ohne eine Tabelle zu verwenden.
Ich meinte ja auch nicht das er alle Ebenen in eine Tabelle oder eine Tabellenspalte packen soll, sondern lediglich, das er eine Tabelle um alles herum erstellen kann, um so ein nicht fixes Layout zu erhalten.Anmerkung: Bis jetzt hat sie bei mir noch kein Kunde über das Ergebnis meiner Arbeit aufgeregt.
-
MORL schrieb:
Ich würde dir noch raten keine %-Angaben bezüglich der Größen der Ebenen zu verwenden. Man ist dann zwar nicht mehr so flexiebel was die einzelnen Auflösungen betrifft, aber es gibt dann auch weniger Probleme beim gestalten des Inhaltes.
Du könntest eine große Tabelle um den gesamten Inhalt erstellen, in die du dann deine Ebenen legst (das ist auch die einzige Möglichkeit um ein Layout mit Ebenen in der Bildschirmmitte zu plazieren, glaube ich), aber ich will dir da nicht reinreden.Solange man die Bildschirmauflösung von HTML bzw. JavaScript aus nicht ändern kann, nehme ich keine festen Breiten/Höhen u.a. Was bringt es wenn man zwar mit 1024/768 eine Seite erstellt, die ganz wunderbar aussieht, aber bei kleinerer Auflösung optischer Müll ist.
Aber ich hab die Seite mit dem IE 5.0 darstellen lassen, Anscheinend kann IE5 garnicht mit Bereichen umgehen. Deswegen überlege ich doch die Tabellen zu nehmen, oder 2. Versionen zu machen.
Shade of Mine schrieb:
Für unser Matura(Abitur) Projekt haben wir unter Anderem auch eine Website erstellt. Dies ist fix auf 1024x768 ausgelegt. Leider hatte ich mit der Website-Erstellung nichts zu tun, sonst wäre das nicht passiert:
Den Laptop den wir für das Projekt zur Verfügung gestellt bekamen kann nur eine Auflösung von 800x600 - sprich die Website sieht beschissen aus. Fazit: neu implementieren.Erinnert mich irgendwie an unseren Info-Lehrer. Der nahm für die Schulseite fixe Frames ohne Scrollbalken. Ist mir zwar egal, aber er leider bringt er es uns diesen Scheiss auch bei und behauptet es sei guter Stil.
-
Du hast mich völlig falsch verstanden, glaube ich.
Sicherlich ist es Mist, wenn man eine schöne Seite erstellt, die sich dann nicht jeder ansehen kann, aber ich finde auch, das man irgendwann aufhören sollte, auf Modemuser und Menschen die noch eine Auflösung von 800x600 haben, rücksicht zu nehmen.Ich habe eher gemeint, das du eine Tabelle mit nicht fixen Maßen als "Rahmen" vorgeben solltest, in den du dann deine Ebenen einbettest.
---------------------- | | | | | | | | | | | | | | | | | | | | | ----------------------
So könnte der Bereich 1 z.B 20% Breite haben und der 2. 80%, denn Tabellen werden fast von jedem Browser gleich interpretiert, im Gegensatz zu Ebenen.
Wenn du nun deine Ebenen in die Tabelle reinpackst, musst du gar keine Größen angeben, da immer 100% des verfügbaren Bereiches genutzt werden.
-
Wenn ich die Tabellen nehme wozu brauche ich dann die divs innerhalb dieser? (Ich hab schon die Tabellen genommen)
MORL schrieb:
Du hast mich völlig falsch verstanden, glaube ich.
Sicherlich ist es Mist, wenn man eine schöne Seite erstellt, die sich dann nicht jeder ansehen kann, aber ich finde auch, das man irgendwann aufhören sollte, auf Modemuser und Menschen die noch eine Auflösung von 800x600 haben, rücksicht zu nehmen.Wenn ich dir jetzt sage, dass ich erstens selbst Modemuser bin und zweitens einen zusätzlichen Rechner mit einem 15-Zoll-Monitor und 800x600-Pixel Auflösung habe,...
-
bIce schrieb:
Wenn ich die Tabellen nehme wozu brauche ich dann die divs innerhalb dieser? (Ich hab schon die Tabellen genommen)
Um Quelltext zu sparen! Wenn ich mir eine Seite an schaue, die nur auf Tabellen aufgebaut ist, dann steht da meist ein riesen Haufen an Quelltext, der sich vermeiden liesse, wenn man Ebenen nimmt.
So wie ich es meinte, hättest du nur 1 Tabelle, die dir die Anpassung der Bildschirmauflösung realisiert und der Rest wäre auf divs aufgebaut.
Naja, machs halt wie du willst.bIce schrieb:
Wenn ich dir jetzt sage, dass ich erstens selbst Modemuser bin und zweitens einen zusätzlichen Rechner mit einem 15-Zoll-Monitor und 800x600-Pixel Auflösung habe,...
...würde ich sagen: selber schuld, wenn du mit dem 15"er im Netz surfst.
Ich hab auch einen 15"er an meinem Rechner als Zweitbildschirm dran, aber der läuft nicht auf 800x600.
Ich finde es richtig schlecht, wenn man sich Seiten anschauen muss, die nur für 800x600ter Auflösung gedacht sind, und dann vor einem 21" Bildschirm sitzt mit einer Auflösung von 1600x1200. Da hat man nun schon einen schönen großen Bildschirm, aber nutzen tut er einem nischt. Das finde ich auch ziemlich ärgerlich.
Ich finde es sehr löblich, das du eine auflösungsunabhängige Seite erstellen willst, aber das du dich da wegen so ein paar kleinen Browserproblemen gleich ins Boxhorn jagen lässt und von einem "sauberen" Layout abweichst finde ich nicht gut. Es gab letztens erst einen Thread in dem es um die Geschwindigkeit eines PHP-Scriptes ging und da waren es nur ein paar Millisekunden. Wenn ich mir dann aber den erhöhten Datentransfer durch einen zu aufgeblähten Quelltext vorstelle, wähle ich doch lieber die effizientere Variante mit den divs, die gerade dir als Modemuser doch sehr entgegen kommen sollte.
-
MORL schrieb:
...würde ich sagen: selber schuld, wenn du mit dem 15"er im Netz surfst.
Ich surfe nicht mit dem Bildschirm, ist nur ein Monitor von einem alten Pentium Rechner, der ne Standardinstallation von Win98 drauf hat. Ist bei mir sozusagen die Minimalanforderung für mein "Produkte". Der hat auch Internet Explorer 5.0 drauf. Und da wird die Seite mit den divs garnicht richtig dargestellt. Die Bereiche beginnen alle in der oberen linken Ecke. D.h. sie überlagern sich. Und ich zweifle daran, dass man es irgendwie anpassen kann damit die Seite richtig läuft. Deswegen habe ich Tabellen genommen.
Ich hab auch einen 15"er an meinem Rechner als Zweitbildschirm dran, aber der läuft nicht auf 800x600.
Höhere Auflösung als 800x600 wird vom Monitor (oder Graka) nicht richtig dargestellt. Flimmert stark dass man nichts erkennen kann. Deswegen nehme ich 800x600.