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.