Doctype wirklich "unbedingt" erforderlich?



  • 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.



  • Reyx schrieb:

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

    den vorteil hast du jetzt bei HTML auch.



  • Mr. B schrieb:

    Reyx schrieb:

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

    den vorteil hast du jetzt bei HTML auch.

    Aber nur wenn du Inhalt und Darstellung trennst.
    Dass HTML+CSS auch geht, hat ja niemand bestritten 😉



  • minhen schrieb:

    Aber nur wenn du Inhalt und Darstellung trennst.

    Hä? Was willst du von mir? 😕 😕
    Dass ist doch vollkommen wurscht. Das ist sowohl bei HTML als auch bei XHTML so...

    Mr. B



  • SideWinder schrieb:

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

    Ist das jetzt XHTML 1.0, XHTML 1.1 oder HTML 4.01 Transitional?



  • Sphy schrieb:

    SideWinder schrieb:

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

    Ist das jetzt XHTML 1.0, XHTML 1.1 oder HTML 4.01 Transitional?

    Afaik ist das sowohl gültiges XHTML also auch gültiges HTML. Allerdings ist es sehr schlechter Stil, da man Tabellen eigentlich nicht als Layoutmittel einsetzen sollte (siehe FAQ).



  • Schlechter Stil hin oder her, da es sich nur um eine Spalte/Zeile in dieser "Tabelle" handelt, ist es doch ziemlich egal... aber davon mal abgesehen: Wenn ich statt "Text" jetzt z.B. eine Tabelle einfüge, also das hier:

    <table><tr><td>Test</td></tr></table>
    

    Das ist nur Testweise so, in der Praxis sind ein bischen mehr Daten drin, die Tabelle soll jedoch zentriert sein, wie ich ja bereits geschrieben habe.

    Jedenfalls wird diese Tabelle dann zwar vertikal, jedoch nichtmehr horizontal zentriert (Firefox). 😕



  • Sphy schrieb:

    Jedenfalls wird diese Tabelle dann zwar vertikal, jedoch nichtmehr horizontal zentriert (Firefox). 😕

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

    🙄



  • minhen schrieb:

    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.

    Richtig, weil es HTTP ist! Das es nicht unabdingbar für (X)HTML habe ich ja nie behauptet! Dennoch ist es Sache des Browsers, was er daraus macht (eben deshalb macht es der IE ja z.B. falsch, wenn application/xhtml+xml vorfindet und falsch handhabt). Dennoch kommt der IE mit XHTML-Dokumenten klar, auch wenn sie im falschen MIME-Type ausgeliefert werden. Ansonsten würde er sie nicht bzw. falsch parsen; tut er aber (zumindest der 7ner) nicht! (ok, Ausnahmen gibt es natürlich, und ich will auch nicht so tun, als hätte der IE _die_ XHTML-Unterstützung schlechthin)

    Ich habe übrigens von des Content-Type-Direktive im HTTP-Header gesprochen, nicht von irgendwelchen Meta-Tags! Und mir ist in der Tat bewusst, wie wichtig der Content-Type im Header ist, und welche Prioritäten die charset-angebenden Stellen haben.

    Du hängst dich immer am MIME-Type auf, aber der ist hier völlig irrelevant. Manche Browser (Opera, Firefox) kommen mit application/xhtml+xml gut zurecht. Der IE nicht, deshalb wird er mit text/html beliefert und rendert die Seite auf seine Art - intern vielleicht falsch, aber das Ergebnis entspricht - zumindest im 7ner - weitestgehend der erwarteten (auf XHTML gestützten) Ausgabe! Daraus folgt das er, trotz allem, XHTML rendern kann und die Seite trotz allem valides XHTML ist (zumindest wenn sie als solche geschrieben wurde)! Dein "von XHTML keine Spur" mag also nur insofern recht sein, als was der IE daraus macht. Und da wären wir wieder bei meiner obigen Aussage: Der Content-Type ist und bleibt HTTP-Eigenart, auch wenn er für die Seitenbeschreibungssprachen HTML und XHTML und XML für existentieller Bedeutung ist. Was daraus gemacht wird ist aber, immer noch, die Sache des Browsers! Theoretisch nicht, da ist es genau festgelegt, aber wir leben nun einmal in der Praxis!

    Aber gut, lassen wir das; ich glaube, wir reden die ganze Zeit aneinander vorbei 🙄

    @Sphy
    margin: auto;


Anmelden zum Antworten