2013-02-20 52 views
4

如果CSS樣式表與<style>內嵌定義,那麼它們爲什麼引用<link>爲什麼CSS樣式表引用鏈接?

JavaScript使用<script>標籤來定義內聯腳本並將它們與<script src="">引用,所以爲什麼不使用<style src="">用於CSS? <link>標籤能否使用<style>不能執行的特殊功能?

+2

這不是這個問題的適當位置。這種問題更適合[聊天]。參見[關於StackOverflow](http://stackoverflow.com/about)。 – 2013-02-20 00:47:48

+0

不錯的問題! :) – 2013-02-20 00:49:30

+2

這是歷史。多年來HTML一直在零碎增長,並非一切都是一致的。 – 2013-02-20 00:59:49

回答

3

stylesource之間的這種不對稱的根源於HTML如何處理腳本和資源的差異。 Javascript是(驚喜!)一個腳本,而樣式表被認爲是一種資源。

正如我們所知,腳本既可以從其他頁面內聯編寫,也可以從其他頁面中編寫出來,這兩個腳本都具有相同的元素:script。這是如何the specs tells us it should work

但是根據規範,樣式元素定義了樣式到您的頁面,這就是它所能做到的。它不能引用其他任何文檔的樣式,例如script標籤可以。爲什麼?我不能再多說了。

另一方面,鏈接元素鏈接資源到您的頁面,也可以是樣式表和其他內容。所以,當你外包的風格,你不使用<style>,而是你<link>它。

的確,人們可以想象能夠寫出像<style src=''>這樣的設置樣式來源的東西,但是,唉,該屬性不存在。所以我們不能!

現在我明白了,說「因爲規格說明」可能是最令人滿意的答案。但這是我現在可以爲你做的最好的。

來源:styleslinks的規格。