Sind verschachtelte Span-Tags in XHTML in Ordnung?


150

Wird dies in XHTML validiert?

<span>hello<span>world</span></span>

Ich frage mich, wie diese Frage im Laufe der Jahre Hunderte von Gegenstimmen gesammelt hat.
Herr Lister

1
@ MrLister Ich denke, weil ich gerade die Frage gegoogelt habe und dieser Artikel aufgetaucht ist ... :)
Andrew Truckle

Antworten:


142

Ja, es wird. Sie können sich selbst helfen, indem Sie die direkte Eingabeoption des w3-Validators verwenden:

<!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" lang="en" xml:lang="en">
        <head>
          <title>Title</title>
        </head>

        <body>
           <p>
               <span>Test<span>Nest span</span></span>
           </p>
        </body>
      </html>

2
Dadurch wird der Teil "Validieren" der Frage beantwortet, nicht jedoch der Teil "OK". Die DTD kann nur eine Teilmenge der Spezifikation beschreiben.
Quentin

87

Absolut.

Hier ist die Definition aus einem XHTML-strengen DOCTYPE für ein span-Element.

<!ELEMENT span %Inline;> <!-- generic language/style container -->
<!ATTLIST span
  %attrs;
  >

Der Teil "% Inline" sagt mir, dass er untergeordnete Knoten aus "% Inline" haben kann. Entitätenelementliste.

Das span-Element ist in der Liste der Elemente enthalten, die als "% Inline" klassifiziert sind. In Kombination mit span, das untergeordnete Elemente "% Inline" zulässt, wird mir mitgeteilt, dass span ein gültiges untergeordnetes Element von span ist.


29

SPAN kann nur Inline-Elemente wie SPAN usw. enthalten.


6
Span wird tun, was ich ihm sage! span { display:block }: D
GreaterKing

Nun, es kann immer noch keine Elemente auf Blockebene enthalten, selbst wenn Sie es als Block gestalten. Übrigens, überprüfen Sie auch, ob meine Antwort vor 8 Jahren veröffentlicht wurde.
Dusoft

Ich weiß, ich habe nur versucht, lol zu erstellen ... und ja, Sie können Blockelemente in Bereiche "einfügen", es ist nicht so, als würde der Browser explodieren oder so ... aber einige sollten Sie als Faustregel nicht tun, um richtig zu folgen Webstandards das ist alles.
GreaterKing

Das ist der Punkt. Dank der Webstandards müssen Sie sich nicht mehr durch das Web hacken. Spaß beiseite, ich bin dankbar, dass wir sie haben.
Dusoft

1
Ja, setzen Sie H aus der Spanne und Spanne in H.
Dusoft
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.