2013-04-26 45 views
1

我想知道他們爲什麼爲所有屬性創建屬性樣式,而不是爲每個屬性創建新屬性? 讓我解釋好,今天我們就用這樣的:爲什麼w3c創建屬性「樣式」來確定所有屬性?

<p style="color:blue; background-color:red"></p> 

我想知道爲什麼他們沒有做這樣的:

<p color="blue" background_color="red"></p> 

有什麼任何W3C文件告訴它嗎?

+3

這聽起來像是[XHTML 3.0宣佈!](http://www.cs.tut.fi/~jkorpela/html/xhtml3.html)的變體。 – 2013-04-26 19:28:27

回答

1

感謝style屬性,開發新的CSS屬性不需要更新HTML規範。

如果我們對每個CSS屬性都有單獨的HTML屬性,則必須在HTML規範中定義所有這些屬性。所以每當定義一個新的CSS屬性時,所有的HTML規格都必須更新。否則,這個新的CSS不能用於舊的HTML版本(有效)。

在同樣的意義上,HTML並沒有爲音頻/視頻或mathsvg的內容定義圖形格式(如PNG)或編解碼器。

因此,CSS和HTML開發人員可以彼此分開工作,只要他們尊重他們同意的接口:style attribute(以及爲HTML添加CSS的其他方式)。

另一個原因:將來可能會出現其他造型方法,與CSS不兼容。現在,當每個人都有自己的屬性時,這會變得一團糟。

1

我無法指出這是詳細的規格在哪裏,但我會包括我的理解。

我認爲其目的是促進風格與內容的分離。引入了style屬性以允許內聯元素樣式,但樣式的預期方法是使用類和外部CSS來完成此操作。這允許減小文檔大小,以及通用的僅限內容的方法,其允許主題的簡單方法等。

style也可能已被包含來解決引用外部樣式表是不切實際或不可能的情況。

1

因爲儘可能多的,w3c正試圖從結構(HTML)抽象表示(CSS)..如果有新的屬性創建(真的屬性)它會掩蓋標記以及使它更容易混淆(而且更難調試)

儘可能使用外部樣式表總是最佳實踐。

2

我的理論基於邏輯......像color =「blue」這樣的東西不是CSS,它本質上是HTML語言的一部分。

在圖片中使用CSS,沒有理由擴展HTML以處理HTML從未設計處理的內容。所以他們爲HTML提供了一種閱讀和理解CSS的方式。因此style =「」屬性。

爲什麼創建一些冗餘的東西,只需要適應閱讀已存在的東西?

也就是說,你以前可以使用的東西,如<font>標籤重新着色或調整大小的文本,如<font color="blue">

由於CSS變得越來越強大和廣泛,沒有必要實施本樣式的類型,爲什麼標籤現在在HTML5中被棄用。

除了所有的推理之外,還有一個明確的邏輯要點,就是每種類型的代碼都有其特定的用途。雖然它們允許您通過使用style =「」屬性將CSS插入到HTML中,但這不是最佳做法,應該用於極端且獨特的情況。