簡體   English   中英

覆蓋.css樣式表文件(不是內聯)

[英]Override .css stylesheet file (not inline)

有可能以某種方式覆蓋默認(在這種情況下是液體)CSS樣式表,但不使用內聯樣式? 此外,我希望該樣式僅適用於該特定頁面,而不是任何其他頁面。

是的,我可以在該特定頁面上的<style>標簽內使用!important ,但我需要重置很多東西。 它只是太多的工作,看起來非常凌亂。

那么有什么方法可以將所有元素重置為默認屬性值,並在該頁面上使用我自己的樣式?

那么你不能修改你的.css文件,但你可以使用js動態替換文件。

function replaceFile(newFile, fileLink) {
    var oldcss = document.getElementsByTagName("link").item(fileLink);
    var newcss = document.createElement("link");
    newcss.setAttribute("rel", "stylesheet");
    newcss.setAttribute("type", "text/css");
    newcss.setAttribute("href", newFile);
    document.getElementsByTagName("head").item(0).replaceChild(newcss, oldcss);
}

另一種解決方案是使用jQueryjs添加所需的樣式。

$('.demo').css({'background-color':'red','color':'white');

css代表層疊樣式表,所以一旦你添加了一個樣式,你只能通過使用另一種樣式來改變或刪除它。 具體回答你的問題你不行。 或者如評論中所述,只需從該特定頁面中刪除樣式表。

您可以使用*和覆蓋選擇包裝器內的所有元素:

例:

 .mylink{ color: red; } .mylink:hover{ color: black; } .reset *{ color: orange; } .reset *:hover{ color: silver; } 
 This is the link without reset: <a href="#" class="mylink">Link</a> <div class="reset"> This is the link with reset: <a href="#" class="mylink">Link</a> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM