是否可以以某种方式覆盖默认的CSS样式表(在这种情况下为液体),而不使用内联样式? 另外,我希望该样式仅应用于该特定页面,而不应用于其他任何页面。
是的,我可以在该特定页面的!important
标记内使用<style>
,但是我需要重做很多事情。太多的工作,看起来很凌乱。
那么我有什么办法可以将所有元素重置为默认属性值,并在那一页上使用我自己的样式?
答案 0 :(得分:1)
您不能修改.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');
答案 1 :(得分:0)
css代表级联样式表,因此添加样式后,只能使用其他样式进行更改或删除。专门回答您的问题, 否 ,您不能。或如评论中所述,只需从该特定页面删除样式表即可。
答案 2 :(得分:0)
您可以使用*选择包装器中的所有元素并覆盖:
示例:
.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>