如何不将样式应用于具有特殊类的元素中的所有元素

时间:2018-07-12 14:49:09

标签: css css-selectors

我用下一个代码重置了css

* {
 margin: 0;
 padding: 0;
 list-style: none;
 border: 0;
 font-size: 100%;
 outline: none;
 font-family: Verdana, Arial, sans-serif;
 vertical-align: baseline;
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 box-sizing: border-box;
}

我希望这些样式适用于除具有特殊类的元素中的元素以外的所有元素。

喜欢

*:not(.without-reset) * {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 0;
  font-size: 100%;
  outline: none;
  font-family: Verdana, Arial, sans-serif;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

但是它不起作用。怎么做?

2 个答案:

答案 0 :(得分:0)

我认为您正在寻找的是以下内容:

*:not(.without-reset),
*:not(.without-reset *){
    margin: 0;
    padding: 0;
    list-style: none;
    border: 0;
    font-size: 100%;
    outline: none;
    font-family: Verdana, Arial, sans-serif;
    vertical-align: baseline;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

这会阻止 .without-reset 元素上的样式,此外,它还会阻止其子元素 (.without-reset *) 上的所有样式。

答案 1 :(得分:0)

我认为您正在寻找的是以下内容:

*:not(.without-reset),
*:not(.without-reset *){
    margin: 0;
    padding: 0;
    list-style: none;
    border: 0;
    font-size: 100%;
    outline: none;
    font-family: Verdana, Arial, sans-serif;
    vertical-align: baseline;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

这会阻止 .without-reset 元素的样式,以及其子元素 (.without-reset *) 的所有样式。