DTD, Charset etc.

  • Moin,

    ich bin im Begriff, meine alten Pages zu aktualisieren, der Code ist von ca. 1999. Als erstes ist die NS-Browserweiche rausgeflogen, dann habe ich mich ein paar Tage quer durchs Internet gelesen, um festzustellen, daß 'man' sich heutzutage allgemein bemüht, konformen Code zu schreiben. Na endlich, das will ich auch!
    Nun mangelt es mir als engagiertem Amateur an Basiswissen, und ich hoffe, hier ein wenig Erleuchtung zu erfahren.

    Vorweg: Dieses Projekt ist eine Künstlerseite, Kommerz-Tauglichkeit spielt keine Rolle. Schlichtes HTML plus CSS in Framesets, auf Javascript werde ich wohl verzichten können. Mein Editor ist Phase 5 (wenn auch suboptimal).

    1. DTD
    Darüber habe ich ziemlich viel sehr klug wirkendes gelesen, aber eine ordentliche Gegenüberstellung nirgends gefunden. Ich habe mich aufgrund meiner (lückenhaften) Recherche dazu entschlossen, den Framesets dies auf den Kopf zu setzen:
    <DOCTYPE>.
    Alle normalen HTML-Seiten bekommen stattdessen dies:
    <DOCTYPE>.
    Jetzt wüßte ich gern, ob das so klug ist, wie es mir erscheinen möchte.

    Desweiteren war ich bisher nicht in der Lage, ein Dokument zu finden, in dem in verständlicher Sprache die Unterschiede zwischen den einzelnen Modi (strict, trans, loose) erläutert werden, resp. deren Restriktionen (strict interpretiert <marquee> und (u) nicht mehr, das kann ja aber wohl nicht alles sein).

    2. Charset
    Sinn und Zweck erschließen sich mir durchaus, aber bei vier getesteten de-Pages habe ich drei verschiedene Charsets gefunden, an drei verschiedenen Positionen: oberhalb von DTD, im Header und im Body... da man sowas schlecht selbst testen kann, wäre ich für Erhellendes sehr dankbar; das Projekt ist deutsch, die Klientel auch (ohne jede Tümelei).

    3. konformer Code
    So sehr ich auch willens bin, sauberen, guten, konformen Code zu schreiben, durch den alles-interpretierenden IE bin ich eine Schlampe geworden (ich selbst darf das doch so sagen?). Klar habe ich vor acht Jahren mal ansatzweise gelernt, was guter Code wäre, aber da das ja nicht wirklich interessiert hat, mein eigenes 'working-code-Süppchen' gekocht. So mußte ich die Tage lesen, daß 'valign' und 'target_blank' als böser Code gelten, sehr verwirrend. Leider erschließt es sich mir nicht allzu häufig, ob gerade über HTML oder XHTML geschrieben wird, ich für meinen Teil brauche jedenfalls keinen 'modernen' Code, solange ich davon ausgehen kann, daß HTML 4.x von den Browsern ordentlich interpretiert wird.

    4. Meta-Tags
    Waren ja annodazumal einigermaßen wichtig - ist dem immer noch so? Werden sie von der einzig verbliebenen Suchmaschine überhaupt noch ausgelesen? Gibt's irgendwo im Netz eine erläuterte Liste was man machen kann, sollte, muß? Gibt es Wechselwirkungen zwischen Metas und DocType?

    Selbstverständlich erwarte ich nicht, all diese Fragen jetzt und hier ausführlich beantwortet zu bekommen, ein paar Links zu Pages, die meine Problematik/Perspektive zum Thema haben, wären toll. (Irgendetwas habe ich vergessen zu fragen, ist aber irgendwie immer so..).

  • SelfHTML ist klasse durch seine Kurzreferenzen, für konkrete Fragen aber kaum zu gebrauchen. CSS4You hab ich noch nie gehört, seh ich mir gleich mal an. Danke.

  • Zitat von Honka

    Schlichtes HTML plus CSS in Framesets, auf Javascript werde ich wohl verzichten können.


    Verzichte auch auf Frames. Das sind Relikte längst vergangener Zeiten. Es gibt zwar auch einen standardtisierten Frameset, aber kein Browser kann den richtig darstellen. Ist zudem höchst benutzerunfreundlich.

    Zitat von Honka

    Desweiteren war ich bisher nicht in der Lage, ein Dokument zu finden, in dem in verständlicher Sprache die Unterschiede zwischen den einzelnen Modi (strict, trans, loose) erläutert werden, resp. deren Restriktionen (strict interpretiert <marquee> und (u) nicht mehr, das kann ja aber wohl nicht alles sein).


    Die strict-Version ist die "reine Lehre", um es mal übertrieben auszudrücken. In der Variante sind alle Tags aus dem Sprachumfang herausgenommen wurden, die für Design-Zwecke benutzt wurden. Denn diesen Job übernimmt jetzt CSS und hat nichts mehr im HTML selbst zu suchen. Die Transitional-Variante ist eine Version die die meisten alten Design-Befehle im HTML noch duldet. marguee hingegen hat niemals zum Webstandard gehört, ist also von keiner Version Bestandteil.

    Sobald man strict als DocType angibt, wird Firefox ganz schnell sehr streng und erlaubt auch nur noch gültige Tags, ein Unterschied zum Transitional- bzw. dem loose/Quirks-Modus. Der Internet Explorer ist da weitaus "nachsichtiger", warum auch immer. Wenn man sagt, es ist ein Strict-Dokument, dann darf darin eh kein marguee vorkommen, und damit auch nicht angezeigt werden. Insofern ist Firefox diesbezüglich wenigstens konsequent.

    http://de.selfhtml.org/html/referenz/varianten.htm

    Mein Tipp für Dich: Benutz nur xhtml1.0-strict. alles anderes ist gewollt und nicht gekonnt. Sobald der Doctype gesetzt ist, kann man über den Validator (http://validator.w3.org/) dann auch prüfen, ob das geschriebene sauber ist und welche Tags evtl. verboten sind.

    Ansonsten einfach an diese Seiten halten:
    http://jendryschik.de/wsdev/einfuehrung/
    http://de.selfhtml.org/

    Zum Charset:

    Code
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    Zitat von Honka

    So mußte ich die Tage lesen, daß 'valign' und 'target_blank' als böser Code gelten, sehr verwirrend.


    Targets soll der Benutzer schlicht selbst bestimmen können. Will er ein neues Fenster, kann er dies selber öffnen. Und valign fällt unter die "Design-Angaben". Das regelt man mit CSS, nicht mit HTML-Attributen.

    Zitat von Honka

    Leider erschließt es sich mir nicht allzu häufig, ob gerade über HTML oder XHTML geschrieben wird, ich für meinen Teil brauche jedenfalls keinen 'modernen' Code, solange ich davon ausgehen kann, daß HTML 4.x von den Browsern ordentlich interpretiert wird.


    (X)HTML wird in fast keiner Version Probleme machen, darum kann man auch gleich XHTML nutzen. Die Unterschiede sind meist nur Formsache, da XHTML das Ergebnis ist HTML an den XML-Syntax anzupassen:
    http://de.selfhtml.org/html/xhtml/unterschiede.htm

    CSS ist ein weitaus grösseres Problem, da es da bei den Browsern teils starke Darstellungsunterschiede gibt, die man abfangen muss.


    Zitat von Honka

    Waren ja annodazumal einigermaßen wichtig - ist dem immer noch so? Werden sie von der einzig verbliebenen Suchmaschine überhaupt noch ausgelesen?


    Kommt auf den Einsatz an. Wenn es um die Indexierung in Suchmaschinen geht: Dank das die Metatags aus Eigennutz von zu vielen Betrügern missbraucht und mit Fehlangaben gefüllt wurden, besinnen sich aktuelle Suchmaschinen auf andere Kriterien als wie die keywords die in den Metatags stehen. Andere wie Charset sind immer sinnvoll.

    Zitat von Honka

    Gibt's irgendwo im Netz eine erläuterte Liste was man machen kann, sollte, muß?


    Dafür gibt es kein Allheilmittel (eigentlich bei fast nichts was mit Web zu tun hat, weil sich ja nie wer an die Regeln halten will, auch wenn jetzt wieder alle danach schreien). Sinnvoll sind immer MimeTypen, Charset und evtl. noch Sprache. Damit können die Browser eigentlich immer was anfangen.

    Zitat von Honka

    Gibt es Wechselwirkungen zwischen Metas und DocType?


    Nicht wirklich. Der DocType sagt nur, was innerhalb des Dokuments erlaubt ist.

    Abschließend möchte ich Dir folgenden Rat mit auf den Weg geben: Teste primär auf Firefox. Der ist äusserst streng und liegt in fast allen Fällen mit der Darstellung richtig. Sollte der IE es dann nicht, dann ist das in der Regel einer der Unzähligen Bugs vom IE. Dazu gibt es dann im Netz meist haufenweise Hacks und Tricks. Sucht man hingegen im Netz über Firefox nach Bugs, weil man davon ausgeht, der IE machts richtig, wird man selten fündig. ; )

    Ach ja... wenn Du es nicht "richtig" machen willst, weil Du z.B. keine Lust hast (ist nicht wenig Arbeit, da hat jeder Verständnis für), spar Dir die Arbeit mit dem Standardisieren. In der Regel machst Du den Nutzen des Standards schon kaputt, wenn Du nur kleine Teile der Seite "Hinrotzt" oder aus unwillen/unwissen nach "oldschool" erstellst.

    Das mit dem Standard ist mehr eine Art Philosophie, als eine Richtlinie. Wer sich diese nicht zu eigen macht, dem hilft auch kein Validator und der vergeudet viel Zeit.

    Wer ein standardisiertes möglichst tabellenfreies Design erstellen will, kann in der Regel sein ganzes altes Wissen erst einmal wegwerfen, da es ihn eher behindern als helfen würde.

    PS: Ach ja... die englische Wikipedia ist auch sehr informativ und voll mit Tabellen und Listen zu dem Thema. Einfach mal stöbern.

  • Hi

    Falls du des Englischen mächtig genug bist, kannst du ja auch mal beim W3 Consortium (Link) vorbei schauen (Das sind die Jungs, die die Standards festlegen :wink: ). Die Seite bietet neben aktuellen News zu html, xhtml, css, etc. auch den Validator (Link) zum Überprüfen der Webseite an.

    Gruß
    Mike

    [Blockierte Grafik: http://firefox.czapura.de/gruss2.png]
    Win XP Home SP3, CPU: Pentium 4, 2,6 GHz, Dual Core, 1 GB RAM
    Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0
    Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130620 Thunderbird/17.0.7
    Meine Add-Ons

  • bugcatcher
    Auf Frames zu verzichten, wird mir bei diesem Projekt nicht möglich sein, es kann nicht sein, daß wegen einiger weniger Elemente überall Scrollbars zu sehen sind, und daß ggf. die gesamte Seite scrollt ist schier unerträglich. Dies wird aber sicherlich nicht die letzte Version dieser Page.

    strict==reine Lehre.. ja, da stellt sich wohl die Frage, ob ich bei allem 'Gewollt, nicht gekonnt' dazu fähig bin; muß mir mal ansehen, was ich alles aus HTML nach CSS auslagern muß. Letztendlich will ich eigentlich nur, daß mein Code auf Fx verläßlich läuft, Konformität wäre eher ein Bonus. Ich lasse seit geraumer Zeit einige nette IE-only-Spielereien weg, was auf Fx nicht geht, gibt's nicht mehr. Hinrotzen kommt mir gar nicht in die Tüte, aber 'Oldschool aus Unwissenheit' könnte schon mal vorkommen. Ich werde mal Deine Links abarbeiten und dann schon sehen, ob's mich klüger macht. Danke erstmal für deine verständnisvollen Ausführungen.

    Estartu
    Sehr gute Page das, merk ich mir.

  • Wenn es Dir reicht, wenn es im Quicks-Kompatibilitäts-Modus läuft, kannst Du im Groben auch auf Standardisierung verzichten. Dann ist Firefox schon recht großzügig was die Darstellung von Standard-fremden Elementen angeht.

    Aber.... was das mit dem Frameset angeht... nicht möglich? Ich glaube eher, Du weißt nicht um die Alternativen. ; )
    http://de.selfhtml.org/css/eigenschaf…ng.htm#overflow

    http://de.selfhtml.org/css/eigenschaf…ng.htm#position (siehe "fixed")

  • Honka: Nur in aller Kürze (hab ncht viel Zeit und ich kenne deine Seite nicht): Wenn du nicht willst, dass die ganze Seite mitscrollt, also z.B. die Navi da bleibt, wo sie ist, lässt sich das ganz leicht durch CSS lösen, z.B.

    Code
    div#Navi{
    position: fixed;
    [-restlichen Einstellungen wie Größe etc...-]
    }


    lösen.

    Grüße, Ebu

    Edit: Verflixt, zu spät :twisted:

  • Autsch!!

    Jetzt hab ich's, und es tut richtig weh: strict==css_only... hahaha; ich habe in den letzten Tagen von ca. 200 Seiten den Quellcode angesehen, mindestens die Hälfte bezeichnete sich als 'strict' - wieso hat mein Fx die denn überhaupt angezeigt..??
    Naja, und da die DTD 'frameset' ohnehin auf 'transitional' basiert, werde ich mich wohl für diese Kombo entscheiden, erscheint mir zumindest ehrlicher. So kann ich beizeiten launchen und mit der Zeit in aller Ruhe auf CSS umstellen.

    (vorläufiges) Fazit:
    Alle Fragen einer Woche wurden an einem halben Nachmittag beantwortet, ich habe 'gelernt' was ich wollte, anstatt nur etwas kluges nachzuplappern, und zwei hervorragende Webseiten gezeigt bekommen. Nicht schlecht für einen ersten Aufschlag, oder?

    HERZLICHEN DANK BIS HIERHER!!!


    edit:
    Das mit den Alternativen muß ich mir in der Tat mal ansehen, ich hab's in der Vergangenheit mal arg übertrieben mit CSS-Positionierung, und befinde mich auf dem Weg back-to-the-roots. So langsam wird mir klar, daß ich innerhalb von CSS hätte anders abbiegen müssen/können, aber das artet ja in Horizonterweiterung aus...

    (ich trau mich nicht recht, hier ein Work-in-Progress zu posten, das ja auch eigentlich noch ein Design-in-Progress ist)

  • Zitat von Honka

    Autsch!!


    Jepp. Das geht jedem so. Wie ich sagte: man kann das bisherig gelernte echt zum grossen Teil wieder vergessen. Und das wollen leider viele nicht wahr haben. Dabei hat das grosse Vorteile. Das merkt man aber erst, wenn man sich damit aus ausgiebig beschäftigt.

    Transitional umfasst im übrigen auch alle Elemente von Strict, wenn Du also Transitional benutzt, hast du einen grösseren Befehlssatz und Firefox wird auch nicht so schnell zickig. Aber wenn man sich mal damit befasst hat, merkt man schnell, dass strict eigentlich alles kann was man braucht.

    Zitat von Honka

    Das mit den Alternativen muß ich mir in der Tat mal ansehen, ich hab's in der Vergangenheit mal arg übertrieben mit CSS-Positionierung, und befinde mich auf dem Weg back-to-the-roots.


    CSS-Positionierung will intelligent eingesetzt sein. Sonst führt es dazu, dass es das ganze eher schlechter zu warten/kontrollieren ist, als früher im "oldschool"-Style. Wie ich sagte. Das ganze ist eine Philosophie, weniger eine Technik. Erst wenn man die Elemente gemässig ihrer eigentlichen Aufgabe sinnvoll nutzt, entfaltet sich deren ganzer Nutzen.

    Zitat von Honka

    So langsam wird mir klar, daß ich innerhalb von CSS hätte anders abbiegen müssen/können, aber das artet ja in Horizonterweiterung aus...


    "Wie ich sagte: man kann das bisherig gelernte echt zum grossen Teil wieder vergessen." ; )

    Aber die Erkenntnis ist schon viel wert. Manche erlangen Sie nie. Sogar viele angeblich professionelle Webdesigner gammeln noch heute im "Oldschool"-Design.

    Erwarte auch nicht, dass gleich alles auf Anhieb geht. Gerade CSS ist ein Minenfeld was die Browser angeht. Das sorgt für viel Frust. Manchmal ist der Standard einfach dumm, oder auch die Lösung von Browser XYZ eigentlich besser. Trotzdem sollte man immer drauf pochen, dass nur der w3c-Standard gilt. Auch wenn das was CSS angeht nicht anders ist wie mit Javascript in der Zeit von Netscape4/IE4, wo jeder es besser wissen wollte.

    Ich will dir damit jetzt keine Angst machen. Aber wenn was nicht auf Anhieb klappt, muss das nicht an Dir liegen. Gibt viele Browser-Bugs. Und manchmal hält man auch das Verhalten vom IE für richtig, bzw sinnvoll... bis man sich die Spezifikationen des w3c anschaut und merkt, das Microsoft gegen die Vorgaben verstösst. Der IE6 ist eine kleine Katastrophe was CSS angeht (und mit IE7 hat sich das nicht wirklich gebessert). Aber auch Firefox und andere Browser sind bei leibe nicht perfekt. Gibt genügend Seiten zu dem Thema:

    http://www.positioniseverything.net/
    http://www.howtocreate.co.uk/wrongWithIE/
    http://css.fractatulum.net/
    http://www.quirksmode.org/

    Also... nicht unterkriegen lassen.

  • Nee, Angst macht mir das nicht, ich bin schon ein paar Tage dabei, eher ein ruhiger Vertreter, der Hypes beobachtet, aber selten mitmacht, und (marquee) habe ich noch niemals benutzt, hatte nur aufgeschnappt, daß 'strict' das nicht umsetzt. Und ich denke auch nicht, daß ich mein bisheriges Wissen vergessen sollte/kann, wenn ich eines Tages auf XHTML/strict umsteige. Siebzig Prozent des Vokabulars sind mir bereits geläufig, und wenn eine Syntax sich prinzipiell ändert, kann selbst ich mir das merken.

    Sorgen macht mir viel eher, daß ich mir für CSS_only eine neue Struktur/Philosophie ausdenken muß - und da bin ich mir ziemlich sicher, daß ich das nicht kann, nicht aus dem Stand, da muß ich erstmal viel lernen, was einfach warten muß, weil ich auch ein wenig im Wort stehe.

    Aber was soll's? Mir geht's doch gut (seit den Klärungen des heutigen Tages), ich hab ein mMn sehr gutes Design, ein auf seine Art eigenwillig-halbgeniales Frameset-System, und jede Menge Zeit. Dieses (Doppel-) Projekt zieh ich so erstmal durch, und kann dann in aller Ruhe Stück für Stück auf XHTML/strict umstellen. Aber dem muß erstmal, wie gesagt, eine Philosophie zugrunde liegen, vielleicht kann man sich die ja auch Stück für Stück entwickeln.

    Zu den Browsern hab ich mir meine eigene (ausnahmsweise nicht exklusive) Philosophie gebastelt - ich bin Rollerspieler:
    FireFox == chaotisch gut (so wie ich im RPG)
    Opera == neutral (wie Druiden)
    IEx == rechtschaffen böse (mit auffallend chaotisch-bösen Verhaltenszügen)
    Netscape haben einfach ihre Codebase nicht im Griff, den Verstand verloren - wer weiß das schon...
    Soll heißen ich bastel nur für Fx, nur was er kann kann ich können, wie gesagt, einige IE_onlies waren durchaus reizvoll, sind aber überbord gegangen: 'Never negotiate with t...'

    Apropos 'professionelle Webdesigner': besagte (übertriebene) 200 Pages waren durch die Bank 'professionelle' Künstler-Pages, es ist großenteils zum wahnsinnig bleiben, was für ein Kot da für Code ausgegeben wird (dabei wollte ich doch nicht polemisch werden).

    Was ich noch erwähnen sollte, geschieht leider viel zu selten: Der Umgangston hier gefällt mir ausgesprochen gut! Es gab noch nicht ein klugsches Nebengeräusch, obwohl durchaus Anlaß zu nehmen gewesen wäre, das ist mindestens bemerkenswert, und mit Sicherheit, leider, nicht alltäglich.