[Geloest] Voellig unmoegliche Nicht-Darstellung im InternetExplorer (div wird ignoriert)???



  • Hallo Gemeinde,

    bis vor einigen Minuten hat die Darstellung eines kleinen Projekts auf allen Browsern bis auf wenige Maengel funktioniert. Unter Firefox und Opera tut's das auch weiterhin. Nur der IE stellt sich irgendwie komplett quer: Er ignoriert schlichtweg div-Objekte, die fuer die Logo-, Menueleisten- und Menuedarstellung verwendet werden. Mir stellt sich nun die Frage, ob ich irgendwie den IE per Zufall zerschossen habe, oder ob ihr das Problem auch habt?

    Das besagte Projekt (temporaer): http://nd-art.de/caravan/ Es geht dabei um private Wohnwagenvermietung.

    Die Positionierung der Elemente findet ueber die datei http://nd-art.de/caravan/css/pos.css statt, die Farbgebung wird ueber die http://nd-art.de/caravan/css/main.css gesteuert.

    Ich habe uebrigens auch schon versucht, den z-index zu setzen, aber auch das hindert den IE nicht daran, die Elemente komplett zu ignorieren. Wenn ich allerdings die position-Angabe fuer die jeweiligen Elemente streiche (sind auf absolute gesetzt), werden die Elemente angezeigt - nur halt nicht positioniert, wie gewuenscht. Die top-, left-, width- und height-Werte sind aber definitiv korrekt.

    Ich waere fuer eure Hilfe sehr dankbar.



  • whhaa... div-suppe 😮

    will sagen: Du hast viel zu viele divs. Bedenke immer, dass jedes div einen Block erzeugt, auch wenn du vll keinen willst.

    position:absolute nur verwenden, wenn du es brauchst. Solltest du einmal scrollen müssen, scrollen die netterweise nicht mit. Hier brauchst du erstmal keine position-Angabe

    width:100% ist bei einem div herzhaft sinnlos

    für Menüs unordered lists (<ul>) verwenden.

    Ja, hört sich nach Standard-Gemecker über unsauberen Code an, aber oft beinhaltet unsauberer Code nunmal auch Fehlerquellen. Und wenn der Code erstmal sauber ist, kann man leichter nach dem eigentlichen Fehler suchen.

    PS: gibts ein Referenzbild, wie es aussehen soll?



  • An meinem Testrechner ist es das Gleiche. Also habe ich den IE nicht zerschossen. Stellt sich nur die Frage: Wie zum Henker kann es sein, dass der IE meine div-Objekte GAR NICHT darstellt - nicht irgendwie verschoben oder falsche Groesse oder so, sondern eben gar nicht... 😕



  • Wie kriegt man denn bitte sonst fuer jede Aufloesung sauber positionierte Leisten und Menueflaechen hin, wenn nicht per div?

    So soll es eigentlich aussehen (und so sieht es unter Firefox und Opera auch aus):
    http://nd-art.de/caravan/scr.jpg



  • Das du sie im IE nicht siehst, liegt an der unmöglichen Positionierung.
    Dein Menü ist im IE links außerhalb des Bildschirms.

    Also wie schon erwähnt, lass das position weg, arbeite dich in float ein und verwende Listen als Menü.



  • heini (Testrechner) schrieb:

    Wie kriegt man denn bitte sonst fuer jede Aufloesung sauber positionierte Leisten und Menueflaechen hin, wenn nicht per div?

    ich weiß, gleich werden alle auf mich losgehen, aber in einem solchen Fall halt ich es nicht für verkehrt Tabellenlayouts (table,tr,td...) zu verwenden...

    LG, Micha



  • RandomAccess85 schrieb:

    ich weiß, gleich werden alle auf mich losgehen, aber in einem solchen Fall halt ich es nicht für verkehrt Tabellenlayouts (table,tr,td...) zu verwenden...

    LG, Micha

    bis du einmal damit konfrontiert wirst, die Seite auch für Screenreader, Drucker oder mobile Endgeräte kompatibel zu machen. Vor allem letzteres wird immer wichtiger. Wenn die Seite so aussehen soll, wie man sie auf seinem Konzeptpapier zusammengemalt hat, dann kann man meinetwegen Tabellen verwenden. Aber das soll und kann es nunmal nicht immer. Und die Flexibilität eines vernüntigen CSS-Layouts auch in Hinblick auf das Ausgabemedium kannst du mit keiner Tabelle erreichen.

    Ja, es ist ein nicht unerheblicher Aufwand, aber den muss man nur _einmal_ zu Beginn machen und hat dann bis zum Ende Ruhe.



  • RandomAccess85 schrieb:

    heini (Testrechner) schrieb:

    Wie kriegt man denn bitte sonst fuer jede Aufloesung sauber positionierte Leisten und Menueflaechen hin, wenn nicht per div?

    ich weiß, gleich werden alle auf mich losgehen, aber in einem solchen Fall halt ich es nicht für verkehrt Tabellenlayouts (table,tr,td...) zu verwenden...

    LG, Micha

    Das hatte ich auf einer anderen Seite so gemacht, bin auch zufrieden damit, weil das Layout als solches nicht so wichtig / aufwendig gewesen ist. Aber hier habe ich schon etwas Wert auf Sauberkeit gelegt. Mein letzter Stand war halt, dass man div dafuer verwendet. Jetzt ist auf einmal das verkehrt. Irgendwie ist mir die Welt zu schnelllebig geworden, dabei bin ich noch gar nicht so alt. 🙄

    Zum Thema: Das Menue liegt nicht ausserhalb des Randes, sondern genau auf dem Rand. Firefox und Opera schaffen's doch auch. Wieso bitte nicht der IE?

    Uebrigens habe ich mir diesen Stil (natuerlich veraendert) von einer Seite gewissermassen abgeschrieben, welche extra fuers saubere Gestalten von Webseiten freie CSS-Layouts in Verbindung mit div-Objekten fuer alle moeglichen Seitengestaltungen anbietet. Dort wurde sogar mit Sachen, wie margin: -200px gearbeitet, wo also Objekte auch ausserhalb des Rands liegen. Die funktionieren auch mit dem IE. Wieso also meins nicht?

    Wenn jemand einen Fehler entdecken sollte, an dem das Problem liegen koennte, wuerde mir das schon erheblich weiterhelfen. Uebers saubere und unsaubere Designen kann man hier wohl noch Jahre diskutieren. Dafuer bitte ich ggf. einen neuen Thread zu eroeffnen.



  • So, Fehler gefunden. Ueberraschung: Es lag an den float -Angaben; wenn ich diese rausnehme, wird alles dargestellt. Und jetzt sag mir nochmal, ich solle mit float arbeiten. 🙄

    Na, jedenfalls gibt's jetzt nurnoch kleine Fehlerchen, die ich selber ausmerzen kann. Danke fuer die Hilfestellung.



  • heini schrieb:

    So, Fehler gefunden. Ueberraschung: Es lag an den float -Angaben; wenn ich diese rausnehme, wird alles dargestellt. Und jetzt sag mir nochmal, ich solle mit float arbeiten. 🙄

    Na, jedenfalls gibt's jetzt nurnoch kleine Fehlerchen, die ich selber ausmerzen kann. Danke fuer die Hilfestellung.

    ja, das hatte ich auch bemerkt. float verwendet man dann, wenn man Objekte vom Text umfließen lassen will. Wenn du aber allen den selben float-Wert gibst, kann sich nichts ausrichten.

    In deinem Fall müsste lediglich das Menü float:left bekommen

    du kannst dich ja mal auf YAML schlau machen, wie das Prinzip dahinter funktioniert


Anmelden zum Antworten