![]() |
XHTML 1.0 Strict + CSS = IE will nicht Hi. Ich versuche zZt. mal eine Webseite zu entwerfen. Mir persönlich gefällt sie auch schon (99% der andere wohl nicht...), aber egal. Es soll sich dabei um eine Produktpage für meinen Editor SimpleEdit handeln. Nun habe ich mich entschieden, die Seite in XHTML 1.0 strict sowie CSS zu entwerfen. Firefox / Mozilla / Opera haben mit meiner Seite keine Probleme und stellen sie korrekt dar. Die W3C-Validatoren (XHTML, CSS) sagen mir "valide". Nur der IE will nicht nett sein. Jetzt bin ich gerade am Zweifeln, wie ich euch am besten das Problem zeigen kann. Screenshot wird nicht viel bringen, deswegen poste ich hier einfach mal den Quellcode rein. HTML-Code: Code: <?xml version="1.0" encoding="iso-8859-1"?> CSS-Code: Code: /* commented backslash hack \*/ (Meinungen zum allgemeinen Design sind ebenfalls erwünscht. ;) ) |
auf die Schnelle... Korrektur nur am CSS-Code. Bemerkungen: Hover gibt es beim IE leider nur für die a-Tags. Da musst Du mit alternativ mit onmouseover arbeiten. Gruppierte CSS-Anweisungen sind meineswissens per Komma zu trennen, die Variante mit den > kenn ich garnicht. Ansonsten netter, einfacher (im positiven Sinne) Style. Code: <?xml version="1.0" encoding="iso-8859-1"?> |
Mein Tipp allgemein zu XHTML etc. HTML Tidy benutzen. :) Dieses kleine aber mächtige Programm wirkt wunder ;) Am besten mit HTML Studio herunterladen, denn dort hat man eine "benutzerfreundliche" Konfiguration :) |
Editoren und automatische Umwandlungen sind immer so eine Sache ... ich habe einiges ausprobiert und bin noch nie drum herum gekommen, Hand anzulegen, um wirklich strict xhtml zu bekommen. Aber das ist auch irgendwo verständlich und von einem Klick&Go Editor kann man eben keine Wunder erwarten. |
@utopia: Meine Vermutung geht dahin, dass der IE dieses ">" ebenfalls nicht kennt. .content > h1 Meint also in etwa "alle h1 die eine Ebene unter .content sind". Das Javascript werde ich dann noch hinzufügen, wobei mir die CSS-Variante besser gefällt... Danke für's Lob. ;) @kiX: Die Seite ist bereits XHTML 1.0 Strict und CSS 2.0 valide. ;) Zumindest laut den gängigen Validatoren. Die unschönen Einrückungen hab ich Weaverslave zu verdanken... ich frag mich echt, warum ich mich davon nicht trennen kann (wo ich doch nen eigenen programmiert habe...) Da frag ich mich glatt, ob ich meinen wunderschönen CSS- / XHTML-Kram nur wegen dem IE verunstalten soll... Opera zeigt die Seite korrekt an, Gecko auch. Warum da noch auf den IE rücksichtnehmen... selber Schuld wenn der kein CSS2 kann... :-/ Danke euch (dir). Wenn jemand noch ne andere Lösung weiß, ausser der, dass es daran liegt, dass der IE kein CSS2 kennt -> Danke. Edit: Ich hab grad nochmal bei Sitepoint gefragt... vielleicht wissen die ja was. |
Bis auf das hover in a-fremden Tags funzt der obige Code ja. Ob man nun deshalb zwanghaft an CSS2 halten muss, bleibt fragwürdig. Dass die > die gleiche Funktion haben wie ein Komma, dachte ich mir bereits. Ich kannte es bisher nur nicht. Das hier halte ich für sinnvoll: .content > h1 > h2 ist wesentlich kürzer als .content h1, .content h2 Aber .content > h1 würde ich als .content h1 notieren. cu |
> != , ;) Na ja... seltsamerweise klappt das so sogar. Jetzt müsstest du mir nur noch sagen, wie ich um das "+" herum komme. Dann versteht auch der dumme, blöde, IE was ich meine. Es geht also nur noch um diesen Teil: Code: .content h1 + p { Wenn das p nach einem h2 kommt soll das ganze halt anders eingerückt werden als nach einem h1. Obwohl ich das wohl verschmerzen könnte... |
Nun ja, ich komme meistens auch nicht drum herum mal nicht selber den Code durchgehen zu müssen. Komischerweise ist der Quelltext im FireFox (Mozilla) und Netscape eindwandfrei, aber im IE eben nicht. Das sieht das meistens alles so komisch aus und deswegen heisst es: Selber Hand anlegen, denn die meisten benutzen ja doch den Internet Explorer. |
@TDM, arbeite doch einfach (umständlicher) mit 2 Classes: Variante 1: .content_pad1 { padding: 15px; } .content_pad2 { padding: 30px; --> <h1 class="content_pad1">Blub</h1><p class="content_pad1">blub</p> Variante 2: --> <div class="content_pad2"><h2>...</h2><p>...</p></div> Glaub mir, auch ich mag es, Code zu sparen. Aber was soll man machen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:23 Uhr. |