Các thẻ span lồng nhau có ổn trong XHTML không?


150

Điều này sẽ xác nhận trong XHTML?

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

Tôi tự hỏi làm thế nào câu hỏi này quản lý để thu thập hàng trăm upvote trong những năm qua.
Ông Lister

1
@MrLister Tôi đoán bởi vì tôi vừa goog câu hỏi và bài viết này xuất hiện ... :)
Andrew Truckle

Câu trả lời:


142

Nó sẽ được thôi. Bạn có thể tự giúp mình bằng cách sử dụng tùy chọn nhập trực tiếp trình xác nhận của 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
Điều đó sẽ trả lời phần "xác thực" của câu hỏi, nhưng không phải là phần "OK". DTD chỉ có thể mô tả một tập hợp con của đặc tả.
Quentin

87

Chắc chắn rồi.

Đây là định nghĩa từ một DOCTYPE nghiêm ngặt XHTML cho một phần tử span.

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

Phần "% Inline" cho tôi biết rằng nó có thể có các nút con từ "% Inline;" danh sách thành phần thực thể.

Phần tử span được bao gồm trong danh sách các phần tử được phân loại là "% Inline", kết hợp với span cho phép các phần tử con "% Inline" cho tôi biết rằng span là phần tử con hợp lệ.


29

SPAN chỉ có thể chứa các thành phần nội tuyến, chẳng hạn như SPAN, v.v.


6
Span sẽ làm những gì tôi nói với nó! span { display:block }: D
lớn hơn vào

Chà, nó vẫn không thể chứa các thành phần cấp khối, ngay cả khi bạn đặt nó theo kiểu khối. BTW, kiểm tra xem câu trả lời của tôi đã được đăng 8 năm trước.
dusoft

Tôi biết chỉ đang cố gắng tạo ra lol ... và vâng, bạn "có thể" đặt các phần tử khối bên trong các nhịp không giống như trình duyệt sẽ phát nổ hoặc bất cứ điều gì ... nhưng một số bạn không nên làm theo quy tắc để tuân theo đúng tiêu chuẩn web đó là tất cả.
lớn hơn

Đó là điểm. Nhờ các tiêu chuẩn web mà bạn không phải hack theo cách của mình trên web nữa. Đùa sang một bên, tôi biết ơn vì chúng tôi có chúng.
dusoft

1
Có, đặt H ra khỏi phạm vi và kéo dài bên trong H.
dusoft
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.