Doctype wirklich "unbedingt" erforderlich?



  • Reyx schrieb:

    Der Browser fällt zurück zum Quirks Mode, weil er davon ausgehen muss, dass dieser die gewählte Technik am ehesten repräsentiert! Er nimmt eine Fehlerbehandlung vor, die du bewusst einbauen willst! Das ist fahrlässig, wird vom W3C (aus gutem Grunde) nicht gutgeheißen und ist schlichtweg falsches HTML!

    macht aber nix. das ergebnis zählt, nämlich dass möglichst viele browser es (wie gewollt) darstellen können. es geht nicht darum alles standardkonform zu machen, nur um hinterher über die unfähigkeit der browserhersteller zu wettern 😉



  • SideWinder schrieb:

    Bei XHTML 1.1, also was du verwendest, um "cool" zu sein, ist das dagegen nicht ok. XHTML 1.1 ist nur als "application/xhtml+xml" auszuliefern - und damit kann der IE eben nichts anfangen.

    Wie leitest du das aus "SHOULD NOT" her? Das ich damit dann auch den IE füttern kann halte ich für "may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful"

    Selbstverfreilich ist das im Einzelfall eine Notlösung, die man bei XHTML 1.1 ergreifen kann (Stichwort "Content Negotiation"!). Wenn man aber weiß, dass man sowieso nur "text/html" verwendet, dann ist XHTML 1.0 die einzig sinnvolle Möglichkeit. Der Grund dafür liegt auf der Hand, XHTML 1.0 ist eine Neuformulierung von HTML 4 in XML. XHTML 1.1 dagegen verhält sich fundamental anders (modulbasiert) und streicht diverse Tags und Attribute von HTML 4.
    XHTML 1.1 standardmäßig als "text/html" auszuliefern - also selbst XHTML-fähigen Browsern - ist der größte Schwachfug, den man überhaupt machen kann. Und genau das ist eben mit "SHOULD NOT" ausgedrückt 😉

    Reyx schrieb:

    Zum zweiten: Woher nimmst du bitte die Dreistigkeit, mir anzukreiden, ich würde meine Webseiten mit falschen MIME-Type ausliefern?

    Weil es die sinnvolle Interpretation deiner bisheren Beiträge ist.
    1. Du hast offensichtlich keine Ahnung von der Bedeutung und den Auswirkungen von "text/html" und "application/xhtml+xml" (siehe z.B. deinen aktuellen Beitrag "Die Rede war hier vom interpretieren von XHTML, nicht jedoch von den Empfehlungen des W3C auf das Zusammenspiel mit dem HTTP-Protokoll.").
    2. Deine Behauptung, dass man ganz einfach XHTML+CSS schreibt und alle Browser es sofort richtig machen, zusammen mit deiner Betonung, dass du keinerlei serverseitiges Skript verwendest, legt nahe, dass du jedem Browser exakt das selbe auslieferst. Und das heißt dann eben auch "text/html".
    Wenn du das Content Negotation aber mit dem Webserver machst, und die Browser eben nicht identisch beliefert werden, stellt sich die Frage, was du mit deiner Betonung von keinen Skripten überhaupt betonen willst ...



  • Ja, das möglichst viele Browser es möglichst gleich darstellen! Die Quirks Modes fallen aber bei den mir bekannten Browsern wesentlich unterschiedlicher aus, als die korrekt arbeitenden Renderer, auch wenn das früher vielleicht einmal anders war. Ich musste immer sehr viel "umfrickeln" um bei HTML 4.01 alles so dargestellt zu bekommen, das es überall gleich aussah (da war der Quirks Mode wohl tatsächlich eine Erleichterung), aber das habe ich bei XHTML nicht mehr!

    Aber es ist natürlich jedem selbst überlassen, was er macht und was nicht. Trotzdem ist es in meinen Augen ein Fehler. Ihr funktionalisiert den Browser zu einem fehlerbehebenden Interpreter um. Würdet ihr einen Compiler genau so bevorzugen, der euch Fehler im Quellcode eurer Programme nach eigenem Ermessen stillschweigend retuschiert? Aber bitte ...

    EDIT:
    @minhen
    Wenn du meinen Post, über den du dich so auslässt, tatsächlich mit einer Aufmerksamkeit gelesen hättest, die deine Argumentation hier rechtfertigen würde, dann währe dir aufgefallen, das ich keine clientseitigen Scripts verwende! Zur Information: Das wäre z.B. JavaScript undhat mit einem MIME-Type oder dem, was beim Browser landet, nichts zu tun. Also bitte noch einmal lesen und noch einmal nachdenken.

    Ferner scheinst du meine Post so auszulegen, wie es dir passt. Du sagst ich würde die "Wichtigkeit" des MIME-Types unterschätzen. Das tue ich ganz sicher nicht. Aber der MIME-Type ist und bleibt Bestandteil des HTTP-Protokolls, was der Browser daraus macht ist seine Sache. Mehr habe ich nicht ausgesagt, und wenn du mir jetzt erzählen willst, der MIME-Type würde zum HTTP-Protokoll gehören, dann bin ich auf gute Quellen erster Hand, die das belegen, gespannt!

    Und zu deinem Text über den MIME-Type von XHTML 1.1: Ich stimme dir voll und ganz zu! Aber von einem standardmäßigen Ausliefern von XHTML 1.1 - Dokumenten als text/html war hier keine Rede! 😉

    2. Deine Behauptung, dass man ganz einfach XHTML+CSS schreibt und alle Browser es sofort richtig machen

    Auch das habe ich nie ausgesagt.



  • Nun, dann bitte ich darum, dass hier jemand ein schlichtes Beispiel postet, wie man unter HTML 4.01 (kein XHTML) Das Wort "Test" exakt in der Mitte des Browserfensters darstellt... also horizontal und vertikal zentriert... 🙄



  • Da du noh HTML 4.01 verwendest sollte das so sehr einfach von statten gehen:

    <center>Test</center>
    

    ist aber bereits deprecated.

    MfG SideWinder



  • Nein, das wird oben zentriert, ich miente aber auch vertikal, was gerade das PRoblem darstellt... 🙄



  • Reyx schrieb:

    @Mr. B
    Der <center>-Tag ist in HTML 4.01 deprecated, aber afaik nicht falsch. Das Attribut align hingegen ist im Standard enthalten. In XHTML 1.0 ist center afair nicht mehr vorhanden und das Attribut align deprecated. In XHTML 1.1 (und 1.0 Strict? Da bin ich mir jetzt nicht sicher ...) ist beides ein Fehler, da setzt man (zu Recht) auf die viel flexibleren und durchdachteren Stylesheets.

    aber was ist bitte der vorteil, wenn man sämtliche tags, die das aussehen der datei beeinflussen, in eine andere datei verbannt? ich seh da einfach keinen vorteil...

    Mr. B



  • Um es mal etwas zu verdeutlichen:

    Test
    

    Soetwas suche ich.



  • Mr. B schrieb:

    aber was ist bitte der vorteil, wenn man sämtliche tags, die das aussehen der datei beeinflussen, in eine andere datei verbannt? ich seh da einfach keinen vorteil...

    Na ist doch ganz einfach: Du hast jetzt eine Datei, in der der Inhalt spezifiziert wird und eine zweite, in der das Aussehen spezifiziert wird. Das eine läßt sich nun unabhängig vom anderen verändern. Da Aussehen und Inhalt in gewisser Weise orthogonal zueinander sind, ist es doch ganz nett die beiden auch unabhängig voneinander variieren zu können.



  • Jester schrieb:

    Mr. B schrieb:

    aber was ist bitte der vorteil, wenn man sämtliche tags, die das aussehen der datei beeinflussen, in eine andere datei verbannt? ich seh da einfach keinen vorteil...

    Na ist doch ganz einfach: Du hast jetzt eine Datei, in der der Inhalt spezifiziert wird und eine zweite, in der das Aussehen spezifiziert wird. Das eine läßt sich nun unabhängig vom anderen verändern. Da Aussehen und Inhalt in gewisser Weise orthogonal zueinander sind, ist es doch ganz nett die beiden auch unabhängig voneinander variieren zu können.

    das kann man jetzt mit HTML 4.01 auch. nur kann man es eben auch in einer datei zusammenschreiben. das bietet doch so gesehen noch mehr möglichkeiten: einmal die variante alles zusammenschreiben oder, wer will, beides zu trennen.

    wieso also der zwang zur trennung?

    Mr. B



  • Mr. B schrieb:

    das kann man jetzt mit HTML 4.01 auch. nur kann man es eben auch in einer datei zusammenschreiben. das bietet doch so gesehen noch mehr möglichkeiten: einmal die variante alles zusammenschreiben oder, wer will, beides zu trennen.

    Naja, goto biete zum Beispiel auch "mehr Möglichkeiten", als for- und while-Schleifen. Trotzdem benutzt man es seltener bzw. manche Sprachen haben es garnicht erst.

    Manchmal muß man die Leute halt zu ihrem Glück zwingen. 🙂



  • Könnte man jetzt bitte zum Thema zurückkehren?

    Sphy schrieb:

    Test
    

    Soetwas suche ich.

    Mir ist jetzt egal, ob HTML 4.01 oder sonst irgendetwas, wie bekommt man das nun so hin, dass ter Text horizontal und vertikal zentriert ist, auf der Seite?



  • @Jester
    Ich hätte einfach noch das Argument gebracht, wenn man mit mehreren Seiten arbeitet; dann wäre jedwede Diskussion sofort hinfällig 😉

    @Sphy
    Ich würde dir raten, es mit CSS "vertical-align: middle; text-align: center;" zu versuchen. Das sollte soweit eigentlich funktionieren. Wie du das Parent-Objekt aber auf immer 100% der verfügbaren Höhe bekommst, ist dir überlassen und kommt auch auf die weiteren Umstände an ...



  • Parent-Objektz wäre body... nur scheint da die Höhe nicht wirklich definiert zu sein, denn wenn ich das darauf anwende (hatte ich schonmal versucht), bekam ich das auch nur oben zentriert...



  • ...und was ist das Elter vom body? Wenn schon in der Hirarchie nach oben, dann bis zur Spitze...



  • Sphy schrieb:

    Um es mal etwas zu verdeutlichen:

    Test
    

    Soetwas suche ich.

    Das ist nicht ganz einfach. Mit purem HTML ist mir nichts bekannt, was das Problem lösen könnte. Ich kenne nur eine Lösung mit (X)HTML+CSS, bei der der Text aber in einem absolut positionierten block-Element stehen muss (nicht so schlimm) und die Höhe und Breite des block-Elements bekannt sein müssen (schon schlimmer, da unflexibel).

    Zuerst formatiert man das block-Element so, dass dessen linke obere Ecke in der Mitte des Browserfensters ist:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    	<title>Test</title>
            <style type="text/css">
                div.centered
                {
                    position:absolute;
                    top:50%;
                    left:50%;
                    text-align:center;
                }
            </style>
    </head>
    <body>
    	<div class="centered">Test</div>
    </body>
    </html>
    

    Wenn es so wie oben nur ein kurzes Wort ist, braucht man den Code jetzt nicht unbedingt weiter anpassen, denn es ist nur um einige Pixel vom Zentrum verschoben.

    Will man aber einen größeren Inhalt, muss man Höhe und Breite des Elements festlegen und das Element um die Hälfte der Höhe bzw. Breite nach oben bzw. links verschieben. Siehe dazu hier.



  • Das ist nicht ganz korrekt, hier beginnt das Objekt in der Mitte und von dort aus nach unten rechts... es soll aber exakt zentriert liegen...



  • Die gute alte Bad-Ass-Variante:

    <table style="width:100%;height:100%; vertical-align:middle; text-align:center">
    <tr>
    <td>
    Text
    </td>
    </tr>
    </table>
    

    MfG SideWinder



  • Sphy schrieb:

    Das ist nicht ganz korrekt, hier beginnt das Objekt in der Mitte und von dort aus nach unten rechts... es soll aber exakt zentriert liegen...

    Sag ich doch, du musst es dann entsprechend verschieben. Lies dir einfach nochmal meinen letzten Satz durch und schau dir die verlinkte Webseite an!

    @SideWinder: argh, das hatte ich schon ganz verdrängt. :p 😉



  • Reyx schrieb:

    Ferner scheinst du meine Post so auszulegen, wie es dir passt. Du sagst ich würde die "Wichtigkeit" des MIME-Types unterschätzen. Das tue ich ganz sicher nicht. Aber der MIME-Type ist und bleibt Bestandteil des HTTP-Protokolls, was der Browser daraus macht ist seine Sache. Mehr habe ich nicht ausgesagt, und wenn du mir jetzt erzählen willst, der MIME-Type würde zum HTTP-Protokoll gehören, dann bin ich auf gute Quellen erster Hand, die das belegen, gespannt!

    Das die Aussagen deiner letzten beiden Sätze zusammen, nun, sagen wir mal "interessant" sind, ignorieren wir einfach mal 😉
    Du tust es schon wieder. Du behauptest dir sei das alles mit dem MIME-Type völlig klar und erzählst dann aber im nächsten Atemzug gleich wieder was von "was der Browser macht ist seine Sache" und philosophierst darüber, dass es ja HTTP sei und nicht XHTML.
    Noch mal zum Mitschreiben:
    Der MIME-Type determiniert die Art der Daten.
    Wenn du eine Textdatei hast und der MIME-Type ist "image/jpeg", dann ist die Textdatei ein JPG-Bild und der Browser versucht die Datei so zu interpretieren.
    Wenn du eine XHTML-Datei hast und der Webserver gibt als Zeichensatz "iso-8859-1" an, im Dokument ist aber im XML-Kopf und in einem Meta-Tag als Zeichensatz "utf-8" angegeben, dann hat die Datei den Zeichensatz "iso-8859-1".
    Und wenn du bei deinen XHTML-Dateien angibst, sie seien HTML-Dateien, dann verarbeitet der Browser sie als HTML-Dateien.
    Der Webserver hat immer recht.

    Ich hoffe du siehst es langsam ein.
    1.) IE beherrscht kein XHTML.
    2.) MIME-Type gibt die Art der Daten an. Völlig latte was eventuelles XHTML von sich selbst behauptet. Sagt der Webserver es ist HTML, dann ist es HTML.

    2. Deine Behauptung, dass man ganz einfach XHTML+CSS schreibt und alle Browser es sofort richtig machen

    Auch das habe ich nie ausgesagt.

    Wörtlich? In der Tat nie.


Anmelden zum Antworten