Fireplace April 2026

CSS IE7 ignoriert display:inline

  • Ersteller Ersteller Mr. Snoot
  • Erstellt am Erstellt am
M

Mr. Snoot

Gast
Hio,

kann mir jemand verraten, warum der IE7 display:inline ignoriert?

Bsp. hier: http://www.halbleiter.org/grundlagen/
IE7: ie7_display_inline.png
Soll: ie9_display_inline.png

Gewöhnlich hat er damit ja kein Problem, aber wieso hier :confused_alt:
(die anderen Darstellungsprobleme seien mal dahingestellt ;))
 
Zuletzt bearbeitet:
Irgendeinen anderen Befehl nicht ordentlich geschlossen? Nehme an, dass du das schon überprüft hast?
Der IE7 würde bei mir aufgrund des Alters allerdings eher in die Kategorie unwichtig fallen, solange die Funktionaltität gegeben ist.
Bessere Idee, warum display:inline genau dort vetrsagt habe ich sonst nicht.
 
@ savuti: wär zu einfach :p Ne, danke, klappt :)

@ Apoxid: ich weiß ja nicht wies bei dir aussieht, aber bei mir sind immer noch 5 % mit dem IE7 unterwegs - da darf das neben funktionieren auch gerne noch korrekt aussehen ;)
 
@Mr.Snoot

Hab mir Deine Seite mal angeschaut...
Warum machst du sowas? style="clear:both";

Warum nicht mit einer Klasse .clearFloat die du dann immer benutzen kannst wenn du sie benötigst? sparrst du dir die ganzen Style-Anweisungen.

Das:
<?xml version="1.0" encoding="utf-8"?>

brauchst du eigentlich nicht. Denn du hast ja das:
<metahttp-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />

Beides ist Unsinn, entweder das eine oder das andere.

Warum machst du sowas? warum nicht eine Standard Anweisung für alle Listen
und dann für jede eine Zusatz-Klasse - mit richtigen Namenm, so wirst du irgendwann die Übersicht verlieren.

<divid="li"

Das ist kein korrektes HTML, das <div> solltest du durch <p> ersetzen.
<div class="descb">Übersicht über die Prozessabläufe in der Fototechnik und Maskentechnologie.</div>


Das ist für eine Überschrift viel zu kurz, du verbrennst hier einen für die SuMas wichtigen TAG. Mach die Überschirft länger, mit min. 2 Schlagwörtern. Also erst <h2>überschrift</h2> und dann darunter <p>Inhalt:</p>

<h2>Inhalt</h2>

usw...

Du hast zudem 10 Fehler im Code.
 
Zuletzt bearbeitet:
Belee schrieb:
Warum machst du sowas? style="clear:both";

Das kommt pro Seite ein mal vor und wird dynamisch via PHP eingefügt. Ob ich dort nun eine Klasse angebe, die ich zusätzlich noch im Stylesheet definieren muss, spielt von daher keine Rolle.

Beides ist Unsinn, entweder das eine oder das andere.
Für Cross-Browser-Kompatibilität sollen beide Tags verwendet werden.

Warum machst du sowas? warum nicht eine Standard Anweisung für alle Listen
Was genau meinst du hier?

Das ist kein korrektes HTML, das <div> solltest du durch <p> ersetzen.
Das ist sehr wohl korrekt - nur weil p für Paragraph steht heißt das nicht, dass man p-Tags zwingend für Text benötigt.

Das ist für eine Überschrift viel zu kurz, du verbrennst hier einen für die SuMas wichtigen TAG. Mach die Überschirft länger, mit min. 2 Schlagwörtern. Also erst <h2>überschrift</h2> und dann darunter <p>Inhalt:</p>[/COLOR]
An welcher Stelle; auf der Startseite? Was sollte da an Überschrift drüber? Die Überschrift ist "Inhalt(sverzeichnis)".

Du hast zudem 10 Fehler im Code.
Korrigiert soweit es geht.
 
Zuletzt bearbeitet:
Tja wenn du meinst, ich wollte dir ganz bestimmt nichts schlimmes. Aber, wenn für dich <div>text</div> syntaktisch und logisch korrektes html ist dann ist eh alles weitere zwecklos. :)
Und von wegen Cross-Browser. Welcher Browser genau versteht das eine und das andere nicht? soviel ich mitbekommen habe interessiert dich eh nur der IE7, der aber versteht das eine wie auch das andere. Browser die das aber nicht verstehen sind nicht alt sondern Uralt und verstehen auf deiner Seite ganz andere - wichtigere Sachen nicht, also ist das eh fürn Hintern was du da machst.

Hier kannst du sehr viel über sauberes und korrektes HTML lernen bzw. empfehle ich dir NUR dieses Buch und kein anderes:
http://jendryschik.de/
Das heisst wenn das überhaupt von Interesse für dich ist.
 
Zuletzt bearbeitet:
Danke, aber ich verlasse mich auf die Vorgaben/Empfehlungen des W3C ;)
 
Wenn ich mir deine Seiten genau anschaue, ist das alles normale css/html Tagsoup, jetzt erkläre mir doch bitte für was genau die XML-Deklaration bei dir gut sein soll?
Mensch @Snoot, du hast da was komplett falsch verstanden, du brauchst die Deklaration nur wenn du auch XML auslieferst, das tust du aber nicht. Die bringt absolut nichts auf deiner Seite im Gegenteil, alte Brower zeigen schön den Quelltext an und die IEs unter 7 arbeiten im Quirks-Mode. Das soll der W3C empfohlen haben? zeig mir doch mal bitte diese Empfehlung bzw. ich kenne nur eine diese ist aber Uralt, so alt wie XHTML und bezieht sich darauf das wenn man XML ausliefert.
Hat mit Browser über IE7 nichts zutun, die brauchen das nicht, genausowenig wie es XHTML brauch, das kannst du leicht testen indem du eine echte XML bei dir parsen lässt. Aber ich merke schon, Rot ist bei dir Rot und kann niemals Grün sein. :)
Na dann, soll es so sein, du bist aber auf dem Holzweg ;)
 
Belee schrieb:
Mensch @Snoot, du hast da was komplett falsch verstanden, du brauchst die Deklaration nur wenn du auch XML auslieferst, das tust du aber nicht. Die bringt absolut nichts auf deiner Seite im Gegenteil, alte Brower zeigen schön den Quelltext an und die IEs unter 7 arbeiten im Quirks-Mode. Das soll der W3C empfohlen haben? zeig mir doch mal bitte diese Empfehlung bzw. ich kenne nur eine diese ist aber Uralt, so alt wie XHTML und bezieht sich darauf das wenn man XML ausliefert.
Laut W3C ist XHTML immer als "application/xhtml+xml" auszuliefern. Eine Ausnahme besteht nur bei XHTML 1.0, das darf auch als "text/html" ausgeliefert werden, aber eigentlich ist XML vorgesehen.

Was der TE macht ist aber trotzdem falsch. Er hat valides XHTML 1.0 Strict was XML ist und als solches auch deklariert werden sollte. So gesehen ist der XML-Header und der Content-Type "application/xhtml+xml" richtig. Allerdings liefert der Webserver die Seite als "text/html" aus.
Deshalb spielt auch der IE verrückt. Das Dokument gibt sich als XML aus der Server liefert es aber als HTML. Bei Seiten die als "text/html" geliefert werden aber einen XML-Header besitzen wechselt der IE in den Quirks-Mode.

Meine Praxisempfehlung: Lass den XML-Header weg und benutze als Content-Type "text/html". Das ist erlaubt und die meisten Browser kommen damit wunderbar zurecht.
 
Ja das ist richtig nur wie du dann erkannt hast geht es hier um XHTML 1.0 und da ist das kein muss, und jeder mir bekannte Browser "zugegeben ich kenne nicht viele :)" kommt damit zurecht.

Das er das weglassen soll/kann versuche ich Ihm ja die ganze Zeit zu erklären nur renn ich hier irgendwie die ganze Zeit gegen eine Wand. Wenn er aber XHTML 1.1 nutzen würde dann würde sich soviel ich weiß auch der Validator melden und darauf hinweisen das die Deklaration fehlt, falsch oder Code ungültig ist, nur hier geht es um 1.0. Hier sagt der Validator zwar auch nix wenn die Deklaration vorhanden ist doch die ist unnötig und kann u.u. "IE" Probleme machen. Er sieht doch beim validieren das der Validator selbst das Dokument auch nur als normales html erkennt, deshalb verstehe ich diese Sturheit nicht.

Gott sein dank wird sich dieses Wirwarr wohl mit HTML5 erledigt haben.
Ergänzung ()

Nochwas an Dr. Snoot :)
In XHTML sollte JavaScript Code im Dokument umschlossen werden, also sowas...

HTML:
<script type="text/javascript">
//<![CDATA[
 dein code...
//]]>
</script>
 
Zuletzt bearbeitet:
Wäre das ein Argument? :D
ie6_html.png ie6_xml.png
Ich bin ja nicht lernresistent; aber hier wird bei vielen Dingen gleich von falsch gesprochen, obwohl es nicht falsch ist, sondern nur vielleicht nicht optimal.



Danke, das mit dem JS werd ich mal einbauen.
 
Sieht gut aus. Dr. Snoot
:D


Wenn du die Deklaration im Kopf entfernst, dann muss das auch
anders aussehen content="application/xhtml+xml;

Gibs zu, du hast keine Ahnung von DocTypes :D

Das wäre die richtige für dich, mehr brauchst du nicht.
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
....

Ich würde in der php.ini wenn nicht schon, auch nochmal utf-8 setzen anstatt iso, denn meistens ist als Standard iso eingestellt. Aber wahrscheinlich hast du das schon getan.
 
Zuletzt bearbeitet:
Mr. Snoot schrieb:
Wäre das ein Argument? :D
Aus den Bildnamen entnehme ich, dass das IE 6 ist, oder? Wo ist genau der Unterschied (Content-Type, XML-Header)?
Mich würde es sehr wundern, wenn der IE 6 mit "echtem" XHTML umgehen könnte.
Mr. Snoot schrieb:
Ich bin ja nicht lernresistent; aber hier wird bei vielen Dingen gleich von falsch gesprochen, obwohl es nicht falsch ist, sondern nur vielleicht nicht optimal.
Komplett falsch ist nicht was du machst. Um aber wirklich W3C-Richtlinenkonform zu sein, müsstest du deinem Webserver noch sagen, dass er mit dem MIME-Type "application/xhtml+xml" ausliefern soll. Sonst widersprechen sich der im Dokument als Content-Type angegebene Typ und der tatsächliche Typ der Daten. Dann steigt der IE 6 aber definitiv aus. (Ein älterer Firefox übrigens auch. ;))
Aber wie gesagt, konformes XHTML ist schön und gut. In der Praxis erweist es sich aber dennoch hilfreich auf die bereits genannte Ausnahme auszuweichen. Entweder ganz oder gar nicht. ;)
 
Zuletzt bearbeitet: (Letzter Satz.)
Er hat wahrscheinlich die Deklaration im Kopf entfernt aber das Meta drin gelassen, da rasten die Browser dann wohl ganz aus - vermute ich jetzt mal denn ich habs nie getestet, doch rein theoretisch müsste es daran liegen. :)

@Cadi

Zitat:
Aber wie gesagt, konformes XHTML ist schön und gut. In der Praxis erweist es sich aber dennoch hilfreich auf die bereits genannte Ausnahme auszuweichen. Entweder ganz oder gar nicht. ;)

Richtig, nur sage mir jetzt mal, was genau er davon hätte HTML als XML auszuliefern? also mir fällt jetzt auf der schnelle nicht eine Seite ein die das macht auch keine von den Hardcorern aus der HTML Newsgroup und die sind richtig schlimm in der Beziehung :)
 
Zuletzt bearbeitet:
Belee schrieb:
Richtig, nur sage mir jetzt mal, was genau er davon hätte HTML als XML auszuliefern?
Eigentlich nichts außer, dass er sich an die Empfehlung der W3C halten würde.
Wie gesagt, eigentlich sollte XHTML immer als XML ausgeliefert werden (weil es das eigentlich ist). Da das in vielen Browsern aber zu Problemen führt, darf man es unter bestimmten Voraussetzungen (Content-Type "text/html") auch als HTML ausliefern und den XML-Header weglassen.

Das Ausliefern als HTML stellt eine Ausnahme dar, die man theoretisch eigentlich nicht nutzen sollte. In der Praxis ist die Ausnahme aber eher Regel und gilt auch nur für XHTML 1.0 Strict. Alle folgenden XHTML-Versionen müssen als XML ausgeliefert werden. Das auch ist einer der Gründe warum sich XHTML 1.1 nie richtig durchsetzen konnte.
 
TheCadillacMan schrieb:
Das auch ist einer der Gründe warum sich XHTML 1.1 nie richtig durchsetzen konnte.

Gut das du hier EINER der Gründe geschrieben hast :), der Hauptgrund ist wohl der das du mit 1.1 nichts gescheites hinbekommst. Geschweige so Spielereien im Code benutzen wzb. aus der Küche Facebook, oder gar Google, oder YouTube usw. Ok gibt es Hacks für und man könnte alles irgendwie hinbiegen doch wozu? nur damit man Xhtml 1.1 im Kopf stehen hat?
Also ich bin ein großer Fan von sauberen HTML Code aber bei 1.1 hat das W3C in meinen Augen nen Bock geschossen, streng ist gut doch das ist mir dann doch etwas zu streng. Heisst nicht das ich es nicht hinbekomme valides 1.1 zu schreiben sondern die Sache ist die, was das für eine Webseite wäre?
Und wenn es das W3C auch nicht benutzt, dann weiß man ja was die selbst davon halten :)
Es ist nicht für herkömliche Webseiten geeignet.

Das mit der XML-Deklaration ist nicht nur in Strict so sondern auch in Transitional, meine ich, hab das jetzt auch nicht mehr im Kopf.
 
Zuletzt bearbeitet:
Belee schrieb:
Das wäre die richtige für dich, mehr brauchst du nicht.
Siehe Bild oben ... ;)

Selbst der IE5.5 zeigt die Seite in der aktuellen Version (größtenteils) korrekt an.
 
Zuletzt bearbeitet:
Ja ok, mach dein Ding, du bist ein Sturkopf schlimmer als ich :) finde ich aber gut ;)
 
Mal so am Rande, welche Browser in welchen Versionen verstehen eigentlich xhtml wenn es als xml ausgeliefert wird, oder anders gefragt, welche verstehen es nicht?

Der xml-Header von oben ist wie schon gesagt wurde Pflicht, sonst handelt es sich nur um plain text html. Aber dass das in der Praxis leider anders ist aufgrund der Browserinkompatibilitäten ist dann doch schade, war immer ein großer Fan von xhtml served as xml.
 
Zurück
Oben