公开部分
我正在尝试为React应用程序中的某个部分构建特定的布局,该布局类似于下图,忽略右侧的行。 这是我的HTML, 这些盒子暂时是空的,稍后再说。
const projects = () => {
return (
<section className="projects">
<div className="container fcontainer">
<div className="fcol fcol--1">
<div className="box-1"></div>
<div className="box-2"></div>
</div>
<div className="fcol fcol--2">
<div className="box-1"></div>
<div className="box-1"></div>
<div className="box-1"></div>
</div>
<div className="fcol fcol--3">
<div className="box-1"></div>
<div className="box-2"></div>
</div>
</div>
</section>
)
}
.fcol {
color: #333;
margin: 1rem;
text-align: center;
font-size: 3rem;
display: flex;
flex-direction: column;
height: 60vh;
flex-grow: 4;
&--1 {
.box-1{
background-color: lightblue;
flex-grow: 1;
margin-bottom: 2rem;
}
.box-2{
background-color: lightgreen;
flex-grow: 2;
}
}
&--2 {
.box-1{
background-color: lightblue;
flex-grow: 1;
justify-content: space-between;
&:not(:last-child){
margin-bottom: 2rem;
}
}
}
&--3 {
.box-1{
background-color: lightblue;
flex-grow: 3;
margin-bottom: 2rem;
}
.box-2{
background-color: lightgreen;
flex-grow: 2;
}
}
}
这是codepen,供您编辑和解决问题(如果您有兴趣),如果您有更好的方法,也可以随时更改HTML和scss的整个结构。
非公开部分
我有点用图像填充每个框,因为即使我将height
和width
手动设置为100%
,图像也总是在框外溢出,如果我将其设置为img-fluid
添加了引导类# groupadd mygroup
# usermod -G mygroup user1
# usermod -G mygroup user2
。
从我的应用程序中的.scss文件导入和使用图像时发生另一个错误,请在link中进行检查,就这样,非常感谢您的时间
答案 0 :(得分:1)
这是您要做什么吗?
https://codepen.io/t_sg/pen/NEQayz
HTML:
<section class="projects">
<div class="container fcontainer">
<div class="fcol fcol--1">
<div class="box box-1"></div>
<div class="box box-2"></div>
</div>
<div class="fcol fcol--2">
<div class="box box-1"></div>
<div class="box box-1"></div>
<div class="box box-1"></div>
</div>
<div class="fcol fcol--3">
<div class="box box-2"></div>
<div class="box box-1"></div>
</div>
</div>
</section>
和CSS:
.fcontainer {
display: flex;
align-items: stretch;
background-color: #f1f1f1;
padding: 10px 30px;
.fcol {
color: #333;
margin: 1rem;
text-align: center;
font-size: 3rem;
display: flex;
flex-direction: column;
height: 60vh;
flex-grow: 4;
}
}
.box {
margin-top: 10px;
margin-bottom: 10px;
&-1 {
background: lightblue;
flex: 0 0 33.33%;
max-height: calc(33.33% - 20px);
}
&-2 {
background: lightgreen;
flex: 0 0 66.67%;
max-height: calc(66.67% - 20px);
}
}