如何从任何CSS选择器中删除所有属性?如何覆盖和重置任何CSS ID选择器?

6
#search-box {
-moz-border-radius-bottomleft:0px;
-moz-border-radius-bottomright:0px;
background-color:#ffffff;
border:0px solid #CCCCCC;
float:right;
padding:8px;
position:relative;
top:0;
width:20em;
}

#search-box {
/*remove all css declaration here*/
}

请用“CSS声明”替换属性。 - Alsciende
3个回答

3
你无法批量重置它们,需要手动逐个进行。如果你需要在不同状态之间切换,比如当用户点击元素时,可以把这些状态从元素本身中移除,并放在一个类中。所以,以下代码:
#search-box {
  color:blue;
}

成为这样:

#search-box {
  color:red;
}
#search-box.focused {
  color:blue;
}

现在,每当您需要对元素的显示进行根本性更改时,请添加或删除.focused类。


或者使用伪类如“:focus”。 - erenon
1
@erenon:非锚点上的伪类支持度不如锚点广泛。 - Sampson

3

您不能删除所有属性。您应该在第一条规则中更具体地指定目标元素,以便仅针对您想要的元素进行操作。或者,您需要明确设置第二条规则中所需的值。


1
如果您使用类,这个问题会更有意义;
HTML:

<div id="site-search-box" class="search-box">

然后重置属性,例如:
CSS

#site-search-box {
    position: static;
    padding: 0;
    width: auto;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接