Sind verschachtelte Span-Tags in XHTML in Ordnung?

150

Wird dies in XHTML validiert?

<span>hello<span>world</span></span>
Rick
quelle
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>
RichardOD
quelle
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.

Joebert
quelle
29

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

dusoft
quelle
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