IE und Firefox behandeln Tabellenbreite unterschiedlich

  • Hallo,

    weiß jemand Hilfe für folgendes Problem? Auf meiner Homepage habe ich folgenden Code stehen:

    <div style="margin-left:165">
    <table width="100%">

    Firefox behandelt die Sache HTML konform, d.h. links ein Rand von 165 Pixel und die Tabellenbreite (100%) ist dann screen.width-165px.
    Der IE macht auch links einen Rand von 165px, aber die 100% Tabellenbreite sind beim IE gleich screen.width.
    Ich will in den Tabellen mit % Angaben arbeiten, um ein vernünftiges Screen Layout unabhängig von der Bildschirmauflösung des Anwenders darstellen zu können.
    Nun nutzen (leider) fast alle meine User den IE als Browser. Ich muss also eine Lösung finden, bei der trotz der % Angaben im HTML Code beide Browser das gleiche Layout Ergebnis liefern.

    Hat jemand eine Idee ?

  • table style="width:98%;"

    ansonsten einfach mit conditional comments arbeiten - d.h. eine normale css datei für alle browser (opera, safari, geckos etc.) und eben eine für den IE:

    Zitat

    <!--[if IE]><link rel="stylesheet" href="ie_shit.css" type="text/css" /><![endif]-->

    Mit selbigen Kommentaren kann man den IE Nutzer auch darauf aufmerksam machen, dass sein Browser scheisse ist.

  • Zitat von xeen

    table style="width:98%;"

    ansonsten einfach mit conditional comments arbeiten - d.h. eine normale css datei für alle browser (opera, safari, geckos etc.) und eben eine für den IE:

    Hallo xeen,

    table style="width:98%;" hab ich versucht, bringt aber überhaupt nix, die Browser zeigen die Tabelle immer noch unterschiedlich lang an.

    Und das mit den unterschiedlichen css Dateien funktioniert ja wohl auch nicht, weil ich in der css Datei ja auch mit % width Angaben arbeiten müßte und die css Datei weiß ja nicht, welche Bildschirmauflösung der User hat. Die div Angabe ist ja immer fix unabhängig von der Bildschirmauflösung.
    Die einzige Möglichkeit, die ich sehe, wäre, in der css Datei mit absoluten px Werten zu arbeiten. Aber dann müßte ich ja für jede mögliche Bildschirmauflösung 2 css Dateien (IE und andere) im javascript Teil aufrufen.
    Das ist mir denn doch zu aufwendig.
    Gibt es keine andere Möglichkeit?

  • unterschiedlich lang?
    Wenn du keinen rahmen hast (boxmodel ie) sind bei beiden browsern links und rechts von der tabelle 1% abstände - je nach dem wie groß das browser fenster eben ist.

    Für Firefox (und alle außer IE) kannst du auch einfach folgendes schema verwenden:

    Code
    position:relative;
    left:165px
    right:0px;


    und keine breitenangabe.
    Dann klebt die tabelle am rechten rand und aht links 165px abstand.

    ansonsten kannst du versuchen für den ie entweder mit margin-right:165px; oder border-right:165px transparent solid; versuchen, die tabelle wieder in den sichtbereich zu stopfen.

    Dann bleibt vielleicht nmoch ein scrollbalken, aber da kann man sich später noch drum kümmern.
    Ansonsten würde ich vorschlagen du machst folgendes:

    div (padding-left 156px, width 100%)

    und darein dann deine tabelle mit width 100%
    wenn ich mir das so recht überlege müsste das sogar die beste lösung sein.

    grüße[/code]