2012-08-13 23 views
7
<!DOCTYPE html> 
<meta charset="utf-8"> 
<body> 
Hello, world! 

SOURCE FOR CODEĐánh dấu HTML5 tối thiểu này có hợp lệ không?

Nếu vậy, bên cạnh việc loại bỏ "Hello, world!" có bất kỳ thẻ nào có thể bị xóa và thẻ vẫn hợp lệ và làm cách nào để bạn biết thẻ vẫn hợp lệ?

+0

Rất tiếc, có thiếu một thẻ chính xác và một thẻ khác có thể bị xóa. Mùi giống như * bài tập về nhà *. –

+0

@mootinator: Nguồn là [bản trình bày trên D3] (http://bost.ocks.org/mike/d3/workshop/), tôi không thể tìm ra cách liên kết tới trang trình bày, vì vậy tôi chỉ liên kết với mật mã. Nghĩ rằng nó thú vị, nhưng trông không hợp lệ. Hơn nữa, không, nó không phải là HW. – blunders

+0

Ah, nhưng một ví dụ giả tạo cho mục đích thảo luận dù sao :) Thú vị là nó đã được trình bày trong đó, nhưng * không * thực sự hợp lệ. –

Trả lời

11

Nó không hợp lệ. Để kiểm tra xem bạn có thể chạy nó trong W3C Validator

Lỗi này là: Phần tử thiếu một phiên bản bắt buộc của tiêu đề phần tử con.

...

CẬP NHẬT

Như vcsjones tuyên bố các yếu tố head là không bắt buộc. Đó là yêu cầu title. Tín dụng cho xe môtô để chỉ ra rằng body cũng là tùy chọn.

Vì vậy, các tài liệu có giá trị đơn giản nhất sẽ là:

<!DOCTYPE html> 
<title></title> 
+2

Để rõ ràng, thẻ 'head' là tùy chọn. Đó là thẻ 'title' được yêu cầu. Thêm 'tiêu đề' trước khi nội dung sẽ xóa lỗi xác thực. – vcsjones

+0

Ngoài ra, '' không bắt buộc. –

+3

Rõ ràng ' 'cũng là tùy chọn. –

4

(. Giả sử cú pháp HTML của HTML5)

Lưu ý rằng trong một số trường hợp các yếu tố title là không bắt buộc, quá.

Từ HTML5’s definition of head:

Yếu tố title là một đứa trẻ cần thiết trong hầu hết các tình huống, nhưng khi một giao thức cấp cao cung cấp thông tin tiêu đề, ví dụ trong dòng Chủ đề của e-mail khi HTML được sử dụng làm định dạng tác giả e-mail, có thể bỏ qua phần tử title.

Vì vậy, đánh dấu tối thiểu cho một tài liệu mà được một danh hiệu từ một "giao thức cấp cao hơn" là thế này:

<!DOCTYPE html> 

Nếu tài liệu là giá trị của một iframe - srcdoc nó này (giả sử một danh hiệu được cung cấp bởi các tài liệu container):

<html> 

Và đối với một tài liệu độc lập nó này (các yếu tố title cần một số nội dung thực tế, như noted by kapep, do đó, "..." chỉ là một ví dụ):

<!DOCTYPE html> 
<title>…</title> 
2

Thẻ tiêu đề không được để trống hoặc chỉ bao gồm khoảng trắng. Vì vậy, nếu tài liệu là trong một bối cảnh mà thẻ tiêu đề được yêu cầu, bạn sẽ phải thiết lập một giá trị tiêu đề hợp lệ.

title content model được định nghĩa là "Văn bản không phải là khoảng trắng giữa các phần tử".

"Nút văn bản trống và nút văn bản chỉ bao gồm các chuỗi [ký tự khoảng trắng]" là inter-element whitespace. Ký tự khoảng trắng là dấu cách, tab, nguồn cấp dữ liệu dòng, nguồn cấp dữ liệu biểu mẫu và trả lại vận chuyển.

Nếu thẻ tiêu đề trống, Trình xác thực W3C khiếu nại rằng "Tiêu đề phần tử không được để trống". Validator là tốt với chỉ thêm không gian, mặc dù đó là không chính xác theo các thông số kỹ thuật.

Nó có giá trị nếu bạn thêm một nhân vật phi-space:

<!DOCTYPE html> 
<title>x</title> 

Bạn có thể sử dụng ký tự không gian khác như không gian phi-break hoặc khoảng trắng không bị phá vỡ zero-chiều rộng nếu bạn muốn giả một "rỗng " chức vụ.