我有一个嵌套的 html 结构,其中 div 内有 div(在行内创建行)。我需要允许用户设置 div(行)css(添加 css 类)。当 css 特异性相同时,我正在努力寻找解决方案。例如,我想创建四级嵌套行,第一行带有红色边框,第二行和第三行带有蓝色边框,第四行带有红色边框。使用下面的标记和 css 第四行有蓝色边框而不是红色,因为 css 特异性是相同的并且应用了最后一个类。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style>
.main {
width: 300px;
height: 100px;
}
.main .row {
width: 100%;
height: 100%;
border: 1px solid #808080;
}
.main .row [class*="span"] {
display: block;
min-height: 30px;
margin-top: 5px;
margin-bottom: 5px;
}
.main .red .bp1 {
border: 2px solid red;
margin-left: 10px;
margin-right: 10px;
}
.main .blue .bp1 {
border: 2px solid blue;
margin-left: 20px;
margin-right: 20px;
}
</style>
</head>
<body>
<div class="main">
<div class="row red">
<div class="span bp1">
<div class="row blue">
<div class="span bp1">
<div class="row blue">
<div class="span bp1">
<div class="row red">
<div class="span bp1"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row blue">
<div class="span bp1">
<div class="row red">
<div class="span bp1">
<div class="row blue">
<div class="span bp1">
<div class="row red">
<div class="span bp1"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
在第二个嵌套的 div 中,我想要获得蓝色/红色/蓝色/红色行,不幸的是所有行都是蓝色的,因为这是最后一个样式类。
有没有办法解决这个问题?