Zwei Fragen, einmal zu einem Tag im Speziellen und

Ein herzliches Hallo an alle!

Und wieder einmal brauche ich Ihr enorm großes Fachwissen im HTML-Bereich, obwohl ich schon fast beinahe befürchte, damit zur allgemeinen Erheiterung beizutragen.
Bei Frage 1 geht es speziell um den img-Tag-.
Laut meinem Lehrbuch wird dieser Tag „geschlossen“, in dem zwischen dem Slashstrich und der eckigen Klammer eine Leerzeichen steht (also )

Mein Editor (Phase 5) jedoch lässt diesen Backslash weg

(also )
Jetzt bin ich verunsichert: Ist das nun ein Fehler im Editor?

Die zweite Frage behandelt Inline-Elemente im Allgemeinen: Laut dem Lehrbuch muss ein Inlineelement IMMER von einem Blockelement umschlossen sein.
Warum?

Liebe Grüße und schon einmal ein ganz dickes Dankeschön im Voraus.

Michael Vogl

Dir ist das Alte Testament bekannt?

Laut meinem Lehrbuch wird dieser Tag „geschlossen“, in dem
zwischen dem Slashstrich und der eckigen Klammer eine
Leerzeichen steht (also )

Nö (kein Leerzeichen vor „>“). Das gilt jedoch nur bei XHTML für Tags, die in HTML nur ein Starttag kennen, aber kein Endetag haben. Also auch für

Mein Editor (Phase 5) jedoch lässt diesen Backslash weg

Deine Einstellungssache oder per netter E-Mail an den Autor. Irgendwo in den Einstellungen habe ich bei irgendeiner Version von Phase5 den mal zu überreden können den Schrägstrich gleich mit zu machen.

Jetzt bin ich verunsichert: Ist das nun ein Fehler im Editor?

Einstellungssache, der macht halt noch HTML.

Die zweite Frage behandelt Inline-Elemente im Allgemeinen:
Laut dem Lehrbuch muss ein Inlineelement IMMER von einem
Blockelement umschlossen sein.

Warum?

Weil es sonst keinen Behälter hat, in dem es irgendwohin positioniert werden könnte.

Dir ist das Alte Testament bekannt?: http://de.selfhtml.org

Gleich runterladen und parat legen: http://aktuell.de.selfhtml.org/extras/download.shtml

Gruß

Stefan

Moin!

obwohl ich schon fast beinahe befürchte, damit
zur allgemeinen Erheiterung beizutragen.

Quatsch :smile:

Bei Frage 1 geht es speziell um den img-Tag-.
Laut meinem Lehrbuch wird dieser Tag „geschlossen“

Jeder Tag wird eigentlich geschlossen. In manchen HTML-Varianten kann man das aber auch weglassen. Was Du meinst, sind die inhaltsleeren Tags, bei denen nichts zwischen dem öffnenden und schließenden Tag steht.

Mein Editor (Phase 5) jedoch lässt diesen Backslash weg

Es ist der norale Slash. Der Backslash ist von links oben nach rechts unten.
Dieser Slash ist bei inhaltsleeren Tags in XHTML Strict notwendig. In HTML müssen inhaltsleere Tags nicht geschlossen werden. In HTML5 kann man sich entscheiden, was man möchte.

Jetzt bin ich verunsichert: Ist das nun ein Fehler im Editor?

Vielleicht erkennt der Editor, dass Du kein XHTML verwendest, das kann er ja über den Doctype herausfinden.

Die zweite Frage behandelt Inline-Elemente im Allgemeinen:
Laut dem Lehrbuch muss ein Inlineelement IMMER von einem
Blockelement umschlossen sein.

In Strict-Varianten, wie Anja mich weiter unten dezenterweise darauf hinwies.

Warum?

Gute Frage. Kann ich jetzt mal ausnahmsweise nicht wirklich erklären. Ist aber eben so festgelegt :wink: Aners macht es auch nicht wirklich sinn, was ist ein Text, der als Link ausgezeichnet ist? Oder einer, der als „wichtig“ ausgezeichnet ist? Er hat ja noch keine Bedeutung, also man weiß, dass er wichtig ist, aber wer ist er? Erst durch ein umschließendes Block-Element, z.B. wird es zu einem Textabsatz.

Liebe Grüße und schon einmal ein ganz dickes Dankeschön im
Voraus.

Sorry, dass ich die zweite Frage nicht beantworten konnte. Vielleicht schreibt das W3C etwas darüber? Ich meine, man kann natürlich Regeln einfach so verbindlich festlegen, aber meistens liegen denen ja auch gewisse Überlegungen zugrunde.

Liebe Grüße,
-Efchen

Hallo Stefan!

Ersteinmal vielen lieben Dank für Ihre Antwort.

Dir ist das Alte Testament bekannt?: http://de.selfhtml.org

Gleich runterladen und parat legen:
http://aktuell.de.selfhtml.org/extras/download.shtml

Ja. Ist mir. Allerdings komme ich damit so gut wie überhaupt nicht klar. Es wirft mir mehr Fragen auf als es erklärt und lässt mich lieber zu anderen Büchern greifen.

Lieben Gruß
Michael Vogl

Hallo Efchen!

Dankeschön auch für Ihre Antwort, auch wenn ich einräumen muss, sie nicht so ganz zu verstehen:

Moin!

Jeder Tag wird eigentlich geschlossen. In manchen
HTML-Varianten kann man das aber auch weglassen. Was Du
meinst, sind die inhaltsleeren Tags, bei denen nichts zwischen
dem öffnenden und schließenden Tag steht.

Das wäre schon mal der erste Punkt, der mir ein Fragezeichen auf die Stirn zaubert. Wieso ist der Tag inhaltsleer? Er hat doch die Angabe, wo das Bild zu finden ist, er hat doch das alt-attribut, evtl. Höhe- und Breiteangabe.
Beim br kann ich es nachvollziehen, aber beim img?

Mein Editor (Phase 5) jedoch lässt diesen Backslash weg

Es ist der norale Slash. Der Backslash ist von links oben nach
rechts unten.

Ah. Okay.

Dieser Slash ist bei inhaltsleeren Tags in XHTML Strict
notwendig. In HTML müssen inhaltsleere Tags nicht geschlossen
werden. In HTML5 kann man sich entscheiden, was man möchte.

Jetzt bin ich verunsichert: Ist das nun ein Fehler im Editor?

Vielleicht erkennt der Editor, dass Du kein XHTML verwendest,
das kann er ja über den Doctype herausfinden.

Ich habe jetzt mal spaßeshalber zwei Varianten ausprobiert: HTML 4.0 Transitional und XHTML 1.1 Strict. Bei beiden kein Slash vor der Klammer.

Sorry, dass ich die zweite Frage nicht beantworten konnte.
Vielleicht schreibt das W3C etwas darüber? Ich meine, man kann
natürlich Regeln einfach so verbindlich festlegen, aber
meistens liegen denen ja auch gewisse Überlegungen zugrunde.

Schade, ist aber jetzt nicht so dramatisch. Es war auch eher eine Frage der Neugier als dass es jetzt wirklich ein Problem darstellt.

Lieben Gruß und noch einmal ein ganz dickes Dankeschön
Michael Vogl

Hallo

Das wäre schon mal der erste Punkt, der mir ein Fragezeichen
auf die Stirn zaubert. Wieso ist der Tag inhaltsleer? Er hat
doch die Angabe, wo das Bild zu finden ist, er hat doch das
alt-attribut, evtl. Höhe- und Breiteangabe.
Beim br kann ich es nachvollziehen, aber beim img?

Bei Tag-Paaren, wie …

usw.gibt es „echten“ Inhalt, der an die Stelle der drei Punkte gesetzt wird. Bei Einzeltags wie

usw.gibt es diese Form des Inhalts nicht. Da gibt es nur Attribute innerhalb des Tags. Deshalb nennt man diese Tags auch gerne „inhaltsleer“.

Jetzt bin ich verunsichert: Ist das nun ein Fehler im Editor?

Vielleicht erkennt der Editor, dass Du kein XHTML verwendest,
das kann er ja über den Doctype herausfinden.

Ich habe jetzt mal spaßeshalber zwei Varianten ausprobiert:
HTML 4.0 Transitional und XHTML 1.1 Strict. Bei beiden kein
Slash vor der Klammer.

Der HTML-Editor Phase5 erstellt HTML, kein XHTML. Man müsste also die Slashes selbst einfügen.

Stefan schrieb unten, es gäbe eine Einstellung in Phase5, die auch XHTML produziert. Die kenne ich selbst nicht, und auch die Wikipedia meint: „Aktuelles XHTML lässt sich mit ihm zwar erstellen, die unterstützenden Funktionen richten sich jedoch auf HTML 4.“

Man kann über „Einstellungen | Benutzer Tags“ die XHTML-Syntax für Tags definieren, so dass man im Editor nach Eingabe des

Das wäre schon mal der erste Punkt, der mir ein Fragezeichen
auf die Stirn zaubert. Wieso ist der Tag inhaltsleer?

Ein img-Tag hat keinen Inhalt, nur Attribute. Der Inhalt eines Tags steht zwischen dem öffnenden und dem schließenden Tag.
src, alt und ähnliche sind, wie Du schon selbst sagst, Attribute. Nicht Inhalte.
Auch ein Textabsatz kann Attribute haben, die stehen dann im öffnenden p-Tag. Es gibt aber auch ein schließendes p und dazwischen steht der eigentliche Text, das ist der Inhalt dieses Tags. img hat sowas nicht, hr auch nicht. input ist auch ein inhaltsleeres Tag.

Beim br kann ich es nachvollziehen, aber beim img?

Auch br hat Attribute, z.B. class oder id. Aber ebenso ist br inhaltsleer.

Ich habe jetzt mal spaßeshalber zwei Varianten ausprobiert:
HTML 4.0 Transitional und XHTML 1.1 Strict. Bei beiden kein
Slash vor der Klammer.

Dann ist es ein Fehler im Editor. Editoren, die meinen Code verändern sind mir ziemlich suspekt.

Lieben Gruß und noch einmal ein ganz dickes Dankeschön

Immer wieder gerne - und auch gerne solange bis Du es verstehst :smile:

Ich habe jetzt mal spaßeshalber zwei Varianten ausprobiert:
HTML 4.0 Transitional und XHTML 1.1 Strict. Bei beiden kein
Slash vor der Klammer.

Dann ist es ein Fehler im Editor. Editoren, die meinen Code
verändern sind mir ziemlich suspekt.

Hi,

Das ist kein Fehler im Phase5-Editor, er ist vielmehr ausdrücklich für HTML gemacht, nicht für XHTML. Der Editor verändert auch niemals von sich aus bestehenden Code. Er erzeugt lediglich mit Klick auf entsprechende Schaltflächen neue Tags im Quelltext, diese allerdings nicht in XHTML-, sondern in HTML-Syntax.

Gruß
A

Tach,

Das ist kein Fehler im Phase5-Editor, er ist vielmehr
ausdrücklich für HTML gemacht, nicht für XHTML.

Ja, das habe ich dann später in den Beiträgen auch gelesen. Dann würde ich auch nicht von einem Fehler sprechen, dann ist es eher ein Bedienerfehler :wink:

Der Editor verändert auch niemals von sich aus bestehenden Code.

Das hat sich für mich im OP so angehört.
Dann ist das natürlich auch hinfällig.

Danke für die Aufklärung,
-Efchen

Hallo noch einmal!

Danke noch einmal ganz herzlich für die vielen Antworten. Jetzt habe ich das mit dem inhaltsleeren Tag geschnuckelt.
Hat denn einer von Ihnen einen Tipp, welchen XHTML-Editor man verwenden sollte? Sowie ich das gerade mal mitbekomme, hat Phase 5 das Manko mit dem „fehlerhaften“ Code, bei Scribe 2 wird das Ende zwar richtig angezeigt (also /> Übrigens auch bei br), dafür ist er irgendwie der Meinung, eine Liste (in diesem Fall habe ich eine ul benutzt) plötzlich im internen Browser nicht mehr anzuzeigen (der Bildschirm ist weiß, man kann unten links eine Prozentzahl sehen, die allerdings bei 39% stoppt. Warum jetzt so plötzlich, entzieht sich meiner Kenntnis. Ich versuche mal, den Editor in einem Kompatibilitätsmodus für XP zu starten).

LG und noch einmal ein ganz herzliches Dankeschön
Michael Vogl

Es gibt wohl keinen Editor, den man verwenden *sollte*.
Aber es gibt viele Texteditoren, die man verwenden kann, jeder hat verschiedene Features, warum man diesen oder jenen verwenden will.

Der eine benutzt vi, weil er ihn seit 22 Jahren nutzt, andere nehmen z.B. Notepad++, beide Vorschläge jetzt beinhalten auch Syntax-Highlighting. Von Vervollständigung weiß ich bei beiden nichts.

Jedem das, was er braucht.

Man kann sich natürlich auch überlegen, ob man überhaupt XHTML schreiben will. Die Entwicklung von XHTML 2.0 wurde schon lange eingestellt, was wohl kommen wird, ist HTML5 und da sind beide Schreibweisen bei inhaltsleeren Tags erlaubt.

Viele Grüße,
-Efchen

Man kann sich natürlich auch überlegen, ob man überhaupt XHTML
schreiben will. Die Entwicklung von XHTML 2.0 wurde schon
lange eingestellt, was wohl kommen wird, ist HTML5 und da sind
beide Schreibweisen bei inhaltsleeren Tags erlaubt.

Da muss ich glatt nachfragen, ob ich den Doctype für HTML5 zwar angeben, aber trotzdem die Tags für XHTML 1.1 nutzen darf. Zwar habe ich ein Buch über HTML5, allerdings dieses auch erstmal wieder zur Seite gelegt. Auf den ersten Seiten steht, dass die Browserhersteller sich zwar darauf verständigt haben, dass sie sämtliche Tags in ihre Browser implantieren wollen, aber jeder entscheidet selbst, wann er welches Tag in seine Software einpflegt.
Das war dann für mich der Grund zu sagen, dass ich das Buch erst später durcharbeite.
Ich finde, man sollte eine Webseite so coden, dass sie in allen Browsern funktioniert. Es soll niemand ausgegrenzt werden, nur weil er einen Browser benutzt, der den einen oder anderen Tag noch nicht implantiert hat.

Liebe Grüße
Michael Vogl

Moin moin,

Da muss ich glatt nachfragen, ob ich den Doctype für HTML5
zwar angeben, aber trotzdem die Tags für XHTML 1.1 nutzen
darf. Zwar habe ich ein Buch über HTML5, allerdings dieses
auch erstmal wieder zur Seite gelegt.

Erstmal sei gesagt, der Browser verzeiht vieles. Kein Objekt verschwindet einfach (naja ) . Aber…
Wenn du dem Browser sagst welcher DIALEKT kommt versucht er sich daran zu halten . Es ist also nicht eine FUNKTIONS Erweiterung.
Das Validieren deines Codes hat die folge das gegugt wird ob dein code diesem standard entspricht. Was die Endgeräte daraus machen ist eine Andere sache.
Sagst du HTML5 wird sich das Endgerät versuchen sich entprechend zu verhalten. Oder wenn es das nicht kennt auf einen anderen Modus umschalten.

willst du aber daten strukturen schreiben und das ala xml XHTML so das es speziel interpretiert werden kann . Dann ist der entsprechende Standard einzuhalten da sonst das lese gerät einen daten error bekommt wenn ein fehler vorliegt.

In diesem sinne wäre die neuste fluegeganzbilli.xhtml zu prüfen damit andere programme diese datei als daten datei nutzen können. der Validator stellt sicher das die daten in einer korrekt lesebaren struktur vorliegen . Das hat dann aber auch weniger mit dem css zu tun . Da gehts wirklich um daten und nicht ums angugen der geleichen.

Guten Morgen!

Da muss ich glatt nachfragen, ob ich den Doctype für HTML5
zwar angeben, aber trotzdem die Tags für XHTML 1.1 nutzen
darf.

Da ich mich erst kürzlich in HTML5 eingelesen habe, muss ich sagen, dass ich das generell für völligen Blödsinn halte.

Natürlich ist es syntaktisch völlig richtig, ein in XHTML 1.1 ausgezeichnetes Dokument als HTML5 zu deklarieren, allerdings enthält das Dokument ja nichts von dem, was HTML5 ausmacht. HTML5 bietet völlig neue Elemente zur Seitenstrukturierung, man sollte diese dann aber auch nutzen, wenn man eine Seite ausliefert, die HTML5 sein soll.

Ich weiß nicht, wie Vorlesebrowser u.ä. das in Zukunft machen, eine Seite zu interpretieren, wie sie wissen, ob sie HTML 4- oder HTML5-Maßstäbe ansetzen sollen, das können sie eigentlich nur über den Doctype machen.

Und wenn ich eine Seite vor mir habe, die behauptet, HTML5 zu sein, dann suche ich nach , oder s und muss ja auch Überschriften völlig anders interpretieren. In HTML5 ist eine in einer untergeordneten faktisch eine .

Zwar habe ich ein Buch über HTML5, allerdings dieses
auch erstmal wieder zur Seite gelegt.

Was prinzipiell nicht verkehrt ist. Dass es da schon Bücher drüber gibt, obwohl das alles noch in Arbeit ist…

Auf den ersten Seiten
steht, dass die Browserhersteller sich zwar darauf verständigt
haben, dass sie sämtliche Tags in ihre Browser implantieren
wollen, aber jeder entscheidet selbst, wann er welches Tag in
seine Software einpflegt.

Tja, HTML5 soll eigentlich ohne Versionsnummer verabsciedet werden und nur noch HTML heißen, weil es eigentlich nie fertig gestellt werden wird. Ob das alles so wird, wie es geplant ist, ist noch fraglich.

Das war dann für mich der Grund zu sagen, dass ich das Buch
erst später durcharbeite.

Dann würde ich aber auch meine Seite nicht als HTML5 auszeichnen.

Ich finde, man sollte eine Webseite so coden, dass sie in
allen Browsern funktioniert.

Das musst Du nicht nur finden, das ist ja wohl selbstverständlich :smile:

Es soll niemand ausgegrenzt
werden, nur weil er einen Browser benutzt, der den einen oder
anderen Tag noch nicht implantiert hat.

Wenn Du das allerdings so direkt sagst, dann darfst Du auch nicht HTML 4 schreiben, weil es alte Browser gibt, die nichtmal oder kennen.

Grüße,
-Efchen

Hallo Efchen!

Danke für Ihre Antwort. Dann lasse ich das mit dem HTML5 Doctype erst einmal bleiben.
In einem Punkt müsste ich einen kleinen Seitehieb geben: wenn ich noch frühere Versionen von irgendwelchen Browsern berücksichtigen muss, dann kann ich sämtliche Bücher über CSS vergessen und übers HTML formatieren…:smiley:

Lieben Gruß

Michael Vogl

Moin,

In einem Punkt müsste ich einen kleinen Seitehieb geben: wenn
ich noch frühere Versionen von irgendwelchen Browsern
berücksichtigen muss, dann kann ich sämtliche Bücher über CSS
vergessen und übers HTML formatieren…:smiley:

Nein, überhaupt nicht.
Natürlich musst Du ältere Browser berücksichtigen. Weil das WWW von sich behauptet, dass es ALLEN Menschen, egal mit welchen Computern, Betriebssystemen, Browsern oder körperlichen Behinderungen alle Informationen barrierefrei präsentiert - und das ist problemlos möglich.

Du machst (immer noch?) den Fehler, den viele machen, nämlich auch gedanklich nicht Inhalt von Layout zu trennen. Es besteht ein himmelweiter Unterschied zwischen „Nutzbarkeit“ und „identisches Aussehen“.

Was von jedem Webmaster gefordert ist, ist dass er durch semantisch sinnvolles HTML sowie strikte Trennung von Inhalt und layout JEDEM ALLE Inhalte zur Verfügung stellt. Wenn ein Browser kein CSS kann, dann ist das das Problem des Browsers. Dann sieht die Seite vielleicht hässlich aus - aber das kann man auch von einem Uralt-Browser erwarten. Aber die Site ist zu 100% nutzbar! Alle Inhalte können erfasst werden! Denk mal nur an Suchmaschinen oder Vorlesebrowser, die sind genau wie Uralt-Browser, die können (weitestgehend) kein CSS bzw. interessieren sich gar nicht dafür.

Wenn Du anfangen würdest, Layout mit HTML zu machen, dann ist die Semantik durcheinander und MODERNE Vorlesebrowser oder Suchmaschinen würden die Seiten nicht mehr verstehen.

Deswegen … „alte Browser berücksichtigen“ ist eigentlich was ganz anderes, als die meisten Anfänger (und leider noch viele, die von sich glauben, sich auszukennen) denken. Die heutige Generation scheint viel zu viel von Klickbunti beeinflusst zu sein und kann sich Eingabeaufforderungen oder 40- bzw. 24-Zeichen-Bildschirme gar nicht mehr vorstellen. Textbrowser sind für sie etwas für alte Greise oder für Dumme. Mit so einer Einstellung wird man es als Webmaster aber nicht weit bringen.

Liebe Grüße,
-Efchen