[英]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);
}
另一種解決方案是使用jQuery
或js
添加所需的樣式。
$('.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.