2013-10-30 43 views
0

我正在開發一個通過用戶書籤訪問的js插件。當用戶按下書籤時,該插件會顯示一個帶有表單的彈出窗口,允許他鍵入並保存一個註釋。Normalize-css在頁面的一部分

我想將normalize.css樣式表應用於我的插件而不使用iframe或影響頁面的其餘部分(這意味着我無法直接在我的插件中嵌入normalize.css stylehseet)。

任何想法/建議?

回答

1

儘管您最終可以通過html5 scoped styles來做到這一點,但目前在大多數modern browsers中都無法做到這一點。

你將不得不給你的插件元素一個類或ID,並手動「標準化」這些元素在你的插件的CSS文件(或通過JavaScript)。

編輯:

擴展在我的答案回覆:@Tibos評論:你永遠不能絕對保證你的插件elmenets不會被不同的風格,但你可以提供你的CSS特異性的合理數量用一個ID命名空間你的插件:

#myPlugin .container { 
    background: #fff; 
} 

#myPlugin input { 
    border:0; 
} 

有,作爲Tibos提到的!important核選擇,但它可能是最好的保存此極端情況下(如佈局完全打破)。如果有必要,讓用戶有機會覆蓋樣式通常是一件好事。

+1

擴大這個答案:爲了確保你的樣式表不影響頁面的其餘部分,在它的內部有任何規則,前綴爲插件根元素的ID(#myplugin .something {font:Arial;} )。如果你想確保頁面中的規則不會影響你的插件,你可以多次複製這個id來增加規則的特殊性,甚至可以添加!對所有規則都很重要(#myplugin#myplugin#myplugin。 {font:Arial!important;} < - 什麼也沒有!) – Tibos

+0

@Tibos +1優秀的補充,我更新了我的答案:) –