PHP-Navigations- und Tabellenbreitenproblem

M

mina_

Hallo, ich hab ein kleines Problem und brauch mal schnell eure Hilfe. Also ich hab eine Seite mit PHP-Navigation, die die Seite mit GET aus der Adresse ausliest und dann die jeweilige Seite mit INCLUDE anzeigt. So weit, so gut. Ich hab also zwei Bereiche mit CSS definiert, links einen vor das Menü und rechts einen für den Inhalt. Jetzt hab ich einige Seiten in denen Tabellen sind, denen ich mit CSS eine Breite von 80% gegeben habe. Und jetzt kommt das Problem: Der Firefox nimmt die 80% von dem für den Inhalt definierten Bereich und der Internet Explorer nimmt die 80% von der kompletten Seite. Das sieht jetzt natürlich unschön aus. Wie löse ich das am besten?

LG, mine
 
Also erstens hoffe ich das du die Seite nicht einfach aus der URI liest und dann includest alla include($_GET['seite']); und zweitens ist das eher ein HTML Problem, das solltest du lieber im HTML Forum posten mit einem kleinen Ausschnitt des generierten HTML.
 
Ich lese sie schon mit GET aus, und per Switch-Anweisung wähl ich dann die richtig include-Datei aus. Ist das schlecht?
 
Ich bin mir nicht so sicher welche Teile für mein Problem relevant sind. Ich versuchs mal. Und wenns hier falsch aufgehoben ist, vielleicht kann ja jemand den Thread verschieben.

Also ich hab eine index.php da hab ich zwei DIV-Bereiche definiert, <div id="Navigation"> und <div id="Inhalt">. In meiner CSS-Datei hab ich das stehen:

Code:
div#Inhalt {
    margin-left: 150px;
}

div#Navigation {
    position: absolute;
    top: 75px;
    left: 20px;
    width: 130px;
}

Im Inhalt-Bereich wird jetzt mit dem GET und der Switch-Anweisung halt die passende Seite ausgewählt und angezeigt. Jetzt will ich da eine Seite anzeigen, die eine Tabelle enthält, die ich per CSS so definiert habe:

Code:
table.index {  
    empty-cells: show;
    border-collapse: collapse;
    border-bottom: 2px #000000 solid;
    table-layout: auto;
    width: 90%;
    border-spacing: 10px;
    padding: 0px;
}

Und jetzt kommt halt das Problem, dass die Tabelle im Firefox und Internet Explorer unterschiedlich breit dargestellt werden. Beim Firefox passt sie mit 90% gut in die Seite, beim Internet Explorer ist sie viel zu breit und geht über die Seite hinaus. Ich schätze, dass der IE halt die 90% von der ganzen Seite nimmt und das zusammen mit dem Navigations-Bereich einfach zu groß ist.
 
uhm... also die beiden divs sollen horizontal nebeneinander stehen?
-> Dann mach das doch per floats

HTML:
div#Inhalt {
    float: left;
    padding-left: 20px;
    clear: left;
}

div#Navigation {
    float:left;
    width: 130px;
}

(ist jetzt natürlich nicht ganz konform, und div.Inhalt und div.Navigation solleten hintereinander stehen in deinem Markup)

div#Inhalt brauch auch ein width.
 
Ich hab mal deinen Vorschlag ausprobiert und noch ein paar andere Sachen, aber egal was ich mache, ich hab im IE und FF total unterschiedliche Darstellungen. Stimmts bei dem einen, stimmts bei dem anderen nicht mehr. Vielleicht muss das doch irgendwie anders lösen :rolleyes:.
 
Ich hab den Fehler gefunden. Es klingt jetzt vielleicht blöd, aber ich hatte vor der DOCTYPE-Angabe einen HTML-Kommentar und damit kam der IE nicht zurecht. Wenn ich den Kommentar drunter setze, zeigt er es genauso an wie im FF.
Gibt es da eine Regel wo Kommentare sitzen dürfen? Also müssen die zwischen <html> und </html> sein oder dürfen die auch schon darüber kommen? Wollte halt ganz oben meinen Namen und das Datum stehen haben.

Trotzdem danke für deine Hilfe :).
 
Hi,

ein HTML-Kommentar vor der Doctype-Deklaration bewirkt im IE, dass er in den Quirksmodus schaltet.

Von daher solltest du den Kommentar im Dokumentheader (<head> ... </head>) notieren.
 
Zurück