【发布时间】:2014-10-15 18:35:47
【问题描述】:
我正在使用具有多种样式的代码库(来自重新设计)。我希望能够在元素上声明 class="v1" 或 class="v2" 以确定要使用的样式。
重要的是,某些页面可能包含具有两种样式的元素,在这种情况下,应用的样式应该是最接近版本的父级。例如,如果 body 是 v1,但 div 是 v2,那么里面的任何样式都应该是 v2。
在 SCSS 中,我可以这样做:
.v1 {
p {
// stuff for version 1 of the styles
}
}
.v2 {
p {
// stuff for version 2 of the css
}
}
哪种方式可以让我到达那里,但 v2 总是会覆盖 v1,因为它在 CSS 中较低。
例如,以下应该是红色,然后是蓝色,然后是红色,然后是蓝色。但是,它是红色的,然后是蓝色的,然后是蓝色的,然后是蓝色的。
<html>
<head>
<style type="text/css">
.v1 span {
color: red;
}
.v2 span {
color: blue;
}
</style>
</head>
<body class="v1">
<span>Outside</span>
<div class="v2">
<span>Div 1</span>
<div class="v1">
<span>Div 2</span>
<div class="v2">
<span>Div 3</span>
</div>
</div>
</div>
</body>
</html>
有什么好的方法可以做到这一点?
【问题讨论】: