如果一个选择器有一长串存储在main.css中的属性,我希望只使用一个属性并在custom.css中覆盖它,我怎样才能重置"该元素无需在main.css中列出所有这些属性并将它们设置为默认值?
我一直遇到CSS干扰的问题,并且总是不得不将它们重置为宽度:auto等等,如果不再需要它们。
https://jsfiddle.net/ugdh833a/1/
// Stored in main.css, this stylesheet is not to be edited
#header {
height: 100px;
overflow: auto;
width: 960px;
padding: 10px;;
margin-bottom: 7px;
padding-bottom: 4px;
position: relative;
z-index: 99;
}
// Stored in custom.css, this page is used to overide the main css page if required
// I now wish to just set this selector with just one property, how can I reset this without having all the above at default levels eg. width:auto, padding:0; etc
#header {
float:left;
}
答案 0 :(得分:1)
不幸的是,如果您不想更改标记,则必须覆盖custom.css中的每个属性,或者您可以添加另一个类并使用:not()
选择器
新的自定义标头(您需要添加class="alternative"
):
CSS:
#header:not(.alternative){
height: 100px;
overflow: auto;
width: 960px;
padding: 10px;;
margin-bottom: 7px;
padding-bottom: 4px;
position: relative;
z-index: 99;
}
#header.alternative{
float:left;
}
答案 1 :(得分:0)
您可以使用all:initial;
执行此操作,但unicode-bidi
和direction
除外。请参阅以下详细信息:https://developer.mozilla.org/en/docs/Web/CSS/all
这里有一个片段:
/*Stored in main.css, this page is not to be edited*/
#header {
height: 100px;
overflow: auto;
width: 960px;
padding: 10px;;
margin-bottom: 7px;
padding-bottom: 4px;
position: relative;
z-index: 99;
border:1px solid red;/*added to better illustrate all:initial*/
background:silver;/*added to better illustrate all:initial*/
}
/* Stored in custom.css */
#header {
all:initial;
float:left;
}

<div id="header">
test
</div>
&#13;