XHTML에서 중첩 된 스팬 태그가 정상입니까?


150

이것이 XHTML에서 유효합니까?

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

나는이 질문이 어떻게 수백 년 동안 공감대를 수집했는지 궁금합니다.
Mr Lister

1
난 그냥 질문을 봤하고 있기 때문에 내가 추측 @MrLister이 문서는 ... :) 나타났다
앤드류 작은 바퀴를

답변:


142

그렇습니다. w3의 유효성 검증기 직접 입력 옵션 을 사용하여 자신을 도울 수 있습니다 .

<!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
질문의 "유효한"부분에는 대답하지만 "OK"부분에는 대답하지 않습니다. DTD는 스펙의 서브 세트 만 설명 할 수 있습니다.
Quentin

87

물론.

span 요소에 대한 XHTML-strict DOCTYPE의 정의는 다음과 같습니다.

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

"% Inline"부분은 "% Inline;"의 자식 노드를 가질 수 있음을 알려줍니다. 엔티티 요소 목록.

span 요소는 "% Inline"으로 분류 된 요소 목록에 포함되어 있으며 "% Inline"자식 요소를 허용하는 span과 결합하여 span이 유효한 span의 자식임을 나타냅니다.


29

SPAN은 SPAN 등과 같은 인라인 요소 만 포함 할 수 있습니다.


6
스팬은 내가 말한대로 할 것입니다! span { display:block }: D
greatKing

글쎄, 블록으로 스타일을 지정하더라도 여전히 블록 레벨 요소를 포함 할 수 없습니다. BTW, 내 답변이 8 년 전 게시되었는지 확인하십시오.
dusoft

나는 롤을 만들려고 노력하고 있었다는 것을 알고있다. 그렇다. "브라우저가 폭발하거나 다른 것 같은 것이 아니라 스팬 안에 블록 요소를 넣을 수있다"는 것을 알고있다. 모든 웹 표준.
Greating King

그게 요점입니다. 웹 표준 덕분에 더 이상 웹을 통해 해킹 할 필요가 없습니다. 농담은 제쳐두고, 우리는 그들에게 감사합니다.
dusoft

1
그렇습니다. H를 스팬에서 빼내고 H 안에 스팬하십시오.
dusoft
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.