现有的样式表包含为遍布整个地方的A元素定义的一整套样式。我发现跟踪和追踪所有内容非常困难。
然后我有:
<ul class="nav navbar-nav navbar-right">
<li>xxxxx</li>
<li><a href='...'>yyyyy</a></li>
</ul>
我不希望上面的A元素继承样式表中的内容。我也不想删除UL元素的类,因为还有其他副作用。我知道我可以通过专门设置内联样式来覆盖A样式,但这将是很多要覆盖。有没有办法让A元素丢弃为A定义的内容,并且每个样式都是默认的?
答案 0 :(得分:0)
不,这是不可能我害怕(无论如何,使用标准CSS,可能预编译像LESS)。这里的“正常方式”是为#mylist添加一个标识符并使其成为一个{}。然后,您必须更改您不喜欢的每个属性。
当然,最好的办法是重新开始,让CSS不再是一个活生生的地狱:)
答案 1 :(得分:0)
我害怕你不能......
你有没有想过javaScript?您可以创建一个如下所示的代码段:
function resetCss(element) {
element.style.color = '#000000';
element.style.textDecoration = 'none';
// ...
}
function reset() {
var elements = document.getElementsByTagName('*');
for (element in elements) {
if (element.className == 'reset') {
resetCss(element); // This function is called on every tag with the reset class.
}
}
}
当DOM准备好时调用reset()
并将类reset
提供给所有要重置的元素。示例:<a href="#" class="reset">Link</a>
。
答案 2 :(得分:0)
您可以尝试一种可能性。它可以根据您的需要重写(重载)样式。通过“&gt;”严格选择从你的身体元素到你的目标'a'的样式中的选择器(重要的是从body写出严格的规则,但在某些情况下不需要)。毕竟放置这个重载样式 - 重载样式的规则 - 应该放在所有或最后包含。我每天都使用这个方法,使用bootstrap,select2,foundation和其他libs,我只是覆盖样式。
示例(只需考虑将html示例放在“body”和“header”元素中):
body&gt;标题&gt; .nav.navbar-nav.navbar-right&gt; a {/ *您为此元素的所有先前重载的样式* /}