可能重複:
Does <STYLE> have to be in the <HEAD> of an HTML document?爲什麼W3C上的HTML <body>標記內的標記不能被<style>驗證?
我已經開發了一個CMS系統團隊的一部分。
我們希望能夠以驗證W3C標準的方式將<style>
標籤插入到HTML頁面的<body>
之內,因爲驗證是我們SEO顧問的要求。
風格標記在所有瀏覽器中的身體標記中都能很好地運行,但它拒絕驗證。
可能重複:
Does <STYLE> have to be in the <HEAD> of an HTML document?爲什麼W3C上的HTML <body>標記內的標記不能被<style>驗證?
我已經開發了一個CMS系統團隊的一部分。
我們希望能夠以驗證W3C標準的方式將<style>
標籤插入到HTML頁面的<body>
之內,因爲驗證是我們SEO顧問的要求。
風格標記在所有瀏覽器中的身體標記中都能很好地運行,但它拒絕驗證。
HMTL DTD不允許它,因此它不驗證。無所謂,所有瀏覽器都支持它。
在所有情況下?你確定? – 2011-01-26 10:54:59
而且它們在樣式元素放置在身體內部的任何地方都表現一致? – RichardTheKiwi 2011-01-26 11:25:58
HTML 4規範指出應該在HEAD元素中,而不是BODY元素。另見本相關的(重複?)問題
does-style-have-to-be-in-the-head-of-an-html-document
HTML允許任意數量的文檔的HEAD部分樣式元素。
你在對什麼進行驗證? HTML,XHTML Transitional,XHTML嚴格嗎?
可能是因爲內聯樣式在XHTML嚴格中無效。您需要改爲使用class="foo"
,並在CSS文件中定義foo。
從字面上看,<body>
標記內的<style>
標記將不會被驗證,因爲所有的HTML規範都說它不能在那裏。
至於爲什麼規格說,我不知道。這個要求仍然在最新的HTML規範中,最近在現實世界中被以前的規範禁止的東西(例如在<style>
標籤上省略type
屬性)已被允許,所以我假設必須有一個原因爲什麼要求仍然存在。
我想有些情況下,在身體中包含<style>
標籤會使頁面渲染變得更難/更慢/更不可靠。
<style>
元素包含適用於整個文檔的元數據。這是<head>
元素設計包含的內容。對他們來說,生活在頭腦中是有道理的,所以這就是規範要求的地方。
您正在使用哪種文檔類型? – birukaze 2011-01-26 10:35:38
「,因爲驗證是我們SEO顧問的要求」 - 我想我已經發現了你的問題,就在那句話的最後兩個單詞中。 – 2011-01-26 10:45:33