Yuvalanmış span etiketleri XHTML'de uygun mu?


150

Bu XHTML'de geçerli olacak mı?

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

Bu sorunun yıllar boyunca yüzlerce upvote toplamayı nasıl başardığını merak ediyorum.
Bay Lister

1
@MrLister Sanırım sadece soruyu googledim ve bu makale ortaya çıktı ... :)
Andrew Truckle

Yanıtlar:


142

Evet olacak. W3'ün doğrulayıcı doğrudan giriş seçeneğini kullanarak kendinize yardımcı olabilirsiniz :

<!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
Bu sorunun "validate" kısmına cevap verir, fakat "OK" kısmına cevap vermez. DTD yalnızca spesifikasyonun bir alt kümesini tanımlayabilir.
Quentin

87

Kesinlikle.

Bir span öğesi için XHTML katı bir DOCTYPE tanımı.

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

"% Inline" bölümü bana "% Inline;" varlıkları öğe listesi.

Span öğesi, "% Inline" olarak sınıflandırılan, "% Inline" alt öğelerine izin veren span ile birleştirilen öğeler listesine, span'ın geçerli bir span alt öğesi olduğunu söyler.


29

SPAN yalnızca SPAN vb. Satır içi öğeleri içerebilir.


6
Span söylediğim şeyi yapacak! span { display:block }: D
greaterKing

Bir blok olarak tarzlaştırsanız bile, yine de blok seviyesi elemanları içeremez. BTW, cevabımın 8 yıl önce gönderildiğini de kontrol edin.
dusoft

Ben sadece lol yaratmaya çalışıyordu ... ve evet sen-ebilmek koymak "içeride blok elemanları koymak onun tarayıcı gibi patlayacak gibi ya da bir şey ... ama onun bazı uygun bir başparmak kural olarak yapmamalısınız web standartları hepsi bu.
greaterKing

Bu nokta. Web standartları sayesinde artık web üzerinden yolunuzu kesmek zorunda değilsiniz. Şakalar bir yana, onlara sahip olduğumuz için minnettarım.
dusoft

1
Evet, H'yi H'nin içine yayılma ve yayılma
alanını H'nin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.