我試圖表達的時間與<time>
標籤,我想用這個的:HTML5中嵌套的時間標記是否有效(表達時間段/持續時間)?
<time datetime="P4Y"><time>2000</time>-<time>2004</time></time>
這是有效的和語義正確的?如果沒有,有沒有更好/更簡單的方法來表達類似的東西?
我試圖表達的時間與<time>
標籤,我想用這個的:HTML5中嵌套的時間標記是否有效(表達時間段/持續時間)?
<time datetime="P4Y"><time>2000</time>-<time>2004</time></time>
這是有效的和語義正確的?如果沒有,有沒有更好/更簡單的方法來表達類似的東西?
無論是WHATWG和W3C規格說同樣的話:這個呢,至少,滿足內容模型(這可能是你的意思是什麼「有效的」,只要一致性檢查器可以接受它)(儘管(幾乎沒有維護的)W3C分支在其定義中包含矛盾,whatwg/html#426)。
簡而言之:所述time
元素可以包含「Phrasing Content」,如果它有一個datetime
屬性,否則就只能含有「Text」; time
元素本身就是Phrasing內容。對於上面的內容,情況絕對如此。
而對於較長的問題是否是語義正確的(否則符合,語義的正確性是HTML文檔的一致性要求),必須考慮以下幾點:
的時間元素代表它的內容,以及日期時間屬性中這些內容的機器可讀形式。現在
,這裏的問題是,<time>2000</time>-<time>2004</time>
是否具有意義P4Y
相同(即,無論是內容和機器可讀datetime屬性不同之處僅在形式上):我會說這是很明確的在這裏,這裏有兩種不同的語義。在內容中,你代表了從2000年到2004年的具體時間間隔;在屬性中,您代表的是通用四年的持續時間。這兩個不一樣,因此外部time
元素在語義上是不可接受的。
這是從W3C
的時間元素表示其內容,具有在datetime屬性的那些內容的 機器可讀的形式沿。內容類型限於各種日期,時間,時區 偏移量和持續時間,如下所述。
datetime屬性可能存在。如果存在,它的值必須是以機器可讀格式表示元素內容的 。
沒有日期時間內容屬性的時間元素必須 沒有任何元素後代。
這是參考
http://www.w3.org/TR/html5/text-level-semantics.html#the-time-element
「外部'時間'元素不是語義上可接受的」,但afaik也沒有辦法表達開始的時間段。所以,基本上不可能用目前的規格表達我想要的東西,對吧? – alxs
@alxs:我相信如此。 – gsnedders