视觉上这个项目只是Bootstrap列的金字塔。但是由于引导类的命名方式,一些颜色会覆盖其他颜色。订单应该是绿色 - >蓝色 - >紫色。但是现在它是绿色 - >紫色 - >绿色。当我真的希望最外面的列控制颜色时,最里面的列控制列的颜色。
我查了如何更改Bootstrap中的类名,但这看起来很困难,绝对超出了他们希望我们对项目做的范围。
我已经有一段时间了,并没有看到一个简单的解决方法。
HTML:
<div class="row justify-content-center">
<div class="col-4 text-center">
fourth layer
</div>
</div>
<div class="row justify-content-center">
<div class="col-5">
<div class= "row">
<div class="col-6 text-center">
fith layer
</div>
<div class="col-6 text-center">
fifth layer
</div>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-6">
<div class= "row">
<div class="col-4 text-center">
sixth layer
</div>
<div class="col-4 text-center">
sixth layer
</div>
<div class="col-4 text-center">
sixth layer
</div>
</div>
</div>
</div>
CSS:
body{
color:white;
}
.col-4{
background-color: green;
}
.col-5{
background-color: blue;
}
.col-6{
background-color: purple;
}
答案 0 :(得分:1)
以下是产生预期效果的一种方法。
像.col-5 .col-6
这样的规则意味着:
如果有一个类.col-5
的元素包含其中的某个位置(无论嵌套有多深)具有类.col-6
的元素,那么将相应的规则应用于它
以下是片段:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<style>
.col-4{
background-color: green;
}
.col-5 .col-6{
background-color: blue;
}
.col-6 .col-4{
background-color: purple;
}
</style>
<div class="row justify-content-center">
<div class="col-4 text-center">
fourth layer
</div>
</div>
<div class="row justify-content-center">
<div class="col-5">
<div class= "row">
<div class="col-6 text-center">
fith layer
</div>
<div class="col-6 text-center">
fifth layer
</div>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-6">
<div class= "row">
<div class="col-4 text-center">
sixth layer
</div>
<div class="col-4 text-center">
sixth layer
</div>
<div class="col-4 text-center">
sixth layer
</div>
</div>
</div>
</div>
&#13;
我的意思是,不清楚为什么你不仅仅使用id
或自定义类。
答案 1 :(得分:0)
您可以根据父级的类设置每个孩子的背景,如下所示:
body {
color: white;
}
.col-4 {
background-color: green;
}
.col-5 {
background-color: blue;
}
.col-6 {
background-color: purple;
}
.col-4 div {
background-color: green !important;
}
.col-5 div {
background-color: blue !important;
}
.col-6 div {
background-color: purple !important;
}
<div class="row justify-content-center">
<div class="col-4 text-center">
fourth layer
</div>
</div>
<div class="row justify-content-center">
<div class="col-5">
<div class="row">
<div class="col-6 text-center">
fith layer
</div>
<div class="col-6 text-center">
fifth layer
</div>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-6">
<div class="row">
<div class="col-4 text-center">
sixth layer
</div>
<div class="col-4 text-center">
sixth layer
</div>
<div class="col-4 text-center">
sixth layer
</div>
</div>
</div>
</div>