我对CSS3相当新,我想要能够做到以下:
当我向一个元素添加一个类时,它会覆盖在这个特定元素中使用的另一个类的属性。
让我们说,我有
<a class="left carousel-control" href="#carousel" data-slide="prev">
我想要能够添加一个名为bakground-none的类,将覆盖类中的默认背景。
谢谢!
解决方法
有不同的方式可以重写属性。假设你有
.left { background: blue }
例如任何以下将覆盖它:
a.background-none { background: none; } body .background-none { background: none; } .background-none { background: none !important; }
前两个“选择器特异性”;第三个赢得!重要的,一个钝器。
你也可以组织你的样式表,规则
.background-none { background: none; }
只是通过秩序,即通过在另一个同样“强大”的规则之后。但是这强加了限制,并要求您在样式表的任何重组中小心。
这些都是CSS Cascade的例子,一个关键但广泛被误解的概念。它定义了解决样式表规则之间冲突的确切规则。
P.S。我使用左和背景 – 没有,因为他们在问题中使用。它们是不应该使用的类名的示例,因为它们反映了特定的渲染,而不是结构或语义角色。