Đó là bởi vì SCRIPT TAG không phải là một yếu tố VOID.
Trong Tài liệu HTML - VOID ElementS hoàn toàn không cần "thẻ đóng"!
Trong xhtml , mọi thứ đều là Chung, do đó tất cả chúng đều cần chấm dứt, ví dụ: "thẻ đóng"; Bao gồm br, ngắt dòng đơn giản, như <br></br>
hoặc tốc ký của nó <br />
.
Tuy nhiên, Phần tử tập lệnh không bao giờ là khoảng trống hoặc Phần tử tham số, vì thẻ script trước bất kỳ thứ gì khác, là Hướng dẫn trình duyệt, không phải là khai báo Mô tả dữ liệu.
Về cơ bản, Hướng dẫn chấm dứt ngữ nghĩa, ví dụ: "thẻ đóng" chỉ cần thiết để xử lý các hướng dẫn mà ngữ nghĩa không thể bị chấm dứt bởi thẻ thành công. Ví dụ:
<H1>
ngữ nghĩa không thể được chấm dứt bởi một điều sau <P>
bởi vì nó không mang đủ ngữ nghĩa của chính nó để ghi đè và do đó chấm dứt tập lệnh H1 trước đó. Mặc dù nó có thể chia luồng thành một dòng đoạn mới, nhưng nó không "đủ mạnh" để ghi đè kích thước phông chữ hiện tại và chiều cao dòng kiểu đổ xuống luồng , tức là rò rỉ từ H1 (vì P không có nó ).
Đây là cách và tại sao tín hiệu "/" (chấm dứt) đã được phát minh.
Thẻ chấm dứt không mô tả chung như< />
, sẽ có hiệu lực cho bất kỳ trường hợp nào rơi ra khỏi tầng gặp phải, ví dụ: <H1>Title< />
nhưng không phải lúc nào cũng như vậy, bởi vì chúng tôi cũng muốn có khả năng "lồng", gắn thẻ trung gian của Stream: split vào dòng chảy trước khi quấn / rơi xuống một tầng khác. Kết quả là một kẻ hủy diệt chung chung như < />
sẽ không thể xác định mục tiêu của một tài sản để chấm dứt. Ví dụ: <b>
in <i>
đậm đậm in < />
nghiêng </>
bình thường. Chắc chắn sẽ không thực hiện đúng ý định của chúng tôi và rất có thể sẽ giải thích nó là đậm táo bạo-itallic đậm bình thường.
Đây là cách khái niệm bao bọc tức là., Container được sinh ra. (Các khái niệm này giống nhau đến mức không thể nhận ra và đôi khi cùng một yếu tố có thể có cả hai. <H1>
Cả hai trình bao bọc và vùng chứa cùng một lúc. Trong khi đó <B>
chỉ là một trình bao bọc ngữ nghĩa). Chúng tôi sẽ cần một đồng bằng, không có thùng chứa ngữ nghĩa. Và tất nhiên, việc phát minh ra một yếu tố DIV đã xuất hiện.
Phần tử DIV thực sự là 2BR-Container. Tất nhiên, sự xuất hiện của CSS đã khiến toàn bộ tình huống trở nên kỳ quặc hơn so với những gì nó đã xảy ra và gây ra một sự nhầm lẫn lớn với nhiều hậu quả lớn - một cách gián tiếp!
Bởi vì với CSS, bạn có thể dễ dàng ghi đè hành vi BR trước và sau của một DIV mới được phát minh, nên nó thường được gọi là "vùng chứa không làm gì". Đó là, tự nhiên sai! DIV là các phần tử khối và thực sự sẽ phá vỡ dòng của luồng cả trước và sau khi báo hiệu kết thúc. Chẳng mấy chốc, WEB bắt đầu đau khổ vì trang DIV-itis. Hầu hết trong số họ vẫn còn.
Sự xuất hiện của CSS với khả năng ghi đè hoàn toàn và xác định lại hoàn toàn hành vi gốc của bất kỳ Thẻ HTML nào, bằng cách nào đó đã quản lý để gây nhầm lẫn và làm mờ toàn bộ ý nghĩa của sự tồn tại HTML ...
Đột nhiên, tất cả các thẻ HTML xuất hiện như thể lỗi thời, chúng bị xóa, bị tước bỏ tất cả ý nghĩa ban đầu, danh tính và mục đích của chúng. Bằng cách nào đó bạn sẽ có được ấn tượng rằng họ không còn cần thiết. Nói: Một thẻ trình bao bọc đơn sẽ đủ cho tất cả các bản trình bày dữ liệu. Chỉ cần thêm các thuộc tính cần thiết. Tại sao không có thẻ có ý nghĩa thay thế; Phát minh tên thẻ khi bạn đi và để CSS làm phiền với phần còn lại.
Đây là cách xhtml được sinh ra và tất nhiên là sự cùn lớn, được trả tiền rất đắt bởi những người mới đến và một tầm nhìn bị bóp méo về những gì là gì, và mục đích chết tiệt của tất cả là gì. W3C đã đi từ World Wide Web đến What Went Wrong, Comrades? !!
Mục đích của HTML là truyền dữ liệu có ý nghĩa đến người nhận.
Để cung cấp thông tin.
Phần chính thức là ở đó chỉ để hỗ trợ sự rõ ràng của việc cung cấp thông tin. xhtml không xem xét thông tin một chút. - Với nó, thông tin hoàn toàn không liên quan.
Điều quan trọng nhất trong vấn đề là phải biết và có thể hiểu rằng xhtml không chỉ là một phiên bản của một số HTML mở rộng , xhtml là một con thú hoàn toàn khác; căn cứ; và do đó , khôn ngoan là giữ chúng tách biệt.