2012-06-19 53 views
4

如果在我的網頁,我有一個div如何在內聯和內部調用外部CSS?

  1. 在線
  2. 內部
  3. 外部定義的所有三個CSS

我知道,瀏覽器會先查找1)內聯則2)內部和最後,它尋找外部的CSS。

但我只想調用外部的CSS,它將如何做?我可以通過!important來完成嗎?還是有其他方法?

+0

是的,你可以使用!重要的 –

+1

所以,你想克服所有定義的外部CSS樣式,那麼爲什麼不要刪除內聯的CSS – 2012-06-19 06:23:23

+0

有時你實際上需要聲明一些樣式屬性內聯。通常你使用外部CSS聲明通用規則,並且有時候需要展開/覆蓋規則[通過內聯聲明],因此原始聲明完好無損。根據我的經驗,我在測試階段使用內聯css,立即看到效果,當我滿意時,我將樣式轉移到外部樣式表中。 –

回答

2

最好的辦法是把所有內容放到外部的css文件中。 如果您必須有內聯樣式,那麼請確保您的外部樣式表中只包含尚未定義 的樣式。即不要複製/覆蓋造型。例如,如果您的css文件中包含以下內容:

div { padding: 5px; } 

然後沒有以下內聯樣式。

<div style="padding-right:2px;" /> 

只要把它放到CSS文件

div { padding: 5px 2px 5px 5px; } 

就像你說的,你可以使用!important如果你覆蓋只是一個頁面樣式並不適用於其他您網站中的網頁。

+0

爲了不覆蓋設置[使用內聯樣式]是用戶的選擇[取決於動機]。例如,我在測試階段覆蓋我的聲明,立即看到效果,並從那裏決定是否更新我的外部CSS或在html中留下內聯樣式。在某些情況下,我使用內聯來擴展聲明,然後在外部傳遞擴展的規則。 –

+0

它完全正確的測試,但正如你所說,一旦html被清理,你應該將它移動到外部的css文件。這確實是一件讓事情變得乾淨和可讀的努力。否則,你最終會在整個網站的整個生命週期內積累內聯樣式。 –

+0

是的,當然,爲了清晰的代碼和可維護性,這應該是所有開發人員的紀律,不幸的是,大多數人都懶得清理。 –

1

1)內聯然後2)內部和最後一個,它尋找外部的CSS。

沒有。<style>包含的CSS與<link>包含的CSS之間的優先級沒有差別。

但我只想調用外部的CSS,它將如何做?

您不能導致通過<style>包含的CSS或通過style屬性包含的CSS被忽略。

我可以通過!重要或有任何其他方式嗎?

您可以應用!important每一個規則,然後希望包括沒有規則通過<style>style也有!important ......但出路在於瘋狂。

3

內部和外部樣式表沒有區別。其樣式應用於取決於:

  1. 特異性
  2. 聲明順序

內聯樣式是最具體,那麼身份規則(#),則類規則,那麼,元件規則()。

對於具有相同特殊性的兩個規則,例如div .mainspan.title,這兩個規則都適用,但最後聲明的規則在指定相同屬性時接管。

規避優先級的唯一方法是使用!important