我现在正在学习flexbox,但遇到了问题。 我想在框内添加两个段落,但是这些段落出现在同一行中,并且两者合而为一? 为什么会发生?显示:flex将内容放在一行吗? 我尝试了.boxes1的flex-direction:列(并在.mainbox1中创建为.boxes1,它可以工作,但想知道上述问题的解决方案。
.mainbox1 {
display: flex;
flex-direction: row;
border-bottom: 1px solid #00a400;
color: #00a400;
}
.boxes1 {
display: flex;
border: 1px solid black;
flex: 1;
height: 100px;
}
<div class="mainbox1">
<div class="boxes1">
<p>KALUKA</p>
<p>AKULA</p>
</div>
<div class="boxes1">
<p>KALUKA</p>
<p>AKULA</p>
</div>
</div>
答案 0 :(得分:4)
默认情况下,flex
个项目位于flex-direction: row
中-您需要将flex-direction: column
添加到您的boxes1
类中
.mainbox1 {
display: flex;
flex-direction: row;
border-bottom: 1px solid #00a400;
color: #00a400;
}
.boxes1 {
display: flex;
flex-direction: column;
border: 1px solid black;
flex: 1;
height: 100px;
}
<div class="mainbox1">
<div class="boxes1">
<p>KALUKA</p>
<p>AKULA</p>
</div>
<div class="boxes1">
<p>KALUKA</p>
<p>AKULA</p>
</div>
</div>
答案 1 :(得分:0)
如果您需要将boxes1
设为display: flex
,那么我只需在boxes1
div中添加另一个div并将所有内容放在其中。
.mainbox1 {
display: flex;
flex-direction: row;
border-bottom: 1px solid #00a400;
color: #00a400;
}
.boxes1 {
display: flex;
border: 1px solid black;
flex: 1;
height: 100px;
flex-wrap: wrap;
}
<div class="mainbox1">
<div class="boxes1">
<div class="box-content">
<p>KALUKA</p>
<p>AKULA</p>
</div>
</div>
<div class="boxes1">
<div class="box-content">
<p>KALUKA</p>
<p>AKULA</p>
</div>
</div>
</div>
答案 2 :(得分:0)
.mainbox1 {
display: flex;
flex-direction: row;
border-bottom: 1px solid #00a400;
color: #00a400;
}
.boxes1 {
/* display: flex; remove this! */
border: 1px solid black;
flex: 1;
height: 100px;
}
<div class="mainbox1">
<div class="boxes1">
<p>KALUKA</p>
<p>AKULA</p>
</div>
<div class="boxes1">
<p>KALUKA</p>
<p>AKULA</p>
</div>
</div>
答案 3 :(得分:0)
display: flex
在将元素推到下一行之前总是尽可能地缩小元素。
对于flex-wrap: wrap
元素,您忘记的是width: 100%
和p
。这样做可以达到您想要的效果(解决方案1)。
另一种方法(解决方案2)是将flex-direction: column
用于boxes1
。
如果您是Flexbox的新手,我建议this guide。
.mainbox1 {
display: flex;
flex-direction: row;
border-bottom: 1px solid #00a400;
color: #00a400;
}
.boxes1 {
display: flex;
flex-wrap: wrap;
border: 1px solid black;
flex: 1;
height: 100px;
}
.boxes1 p {
width: 100%;
}
<div class="mainbox1">
<div class="boxes1">
<p>KALUKA</p>
<p>AKULA</p>
</div>
<div class="boxes1">
<p>KALUKA</p>
<p>AKULA</p>
</div>
</div>
.mainbox1 {
display: flex;
flex-direction: row;
border-bottom: 1px solid #00a400;
color: #00a400;
}
.boxes1 {
display: flex;
flex-direction: column;
border: 1px solid black;
flex: 1;
height: 100px;
}
<div class="mainbox1">
<div class="boxes1">
<p>KALUKA</p>
<p>AKULA</p>
</div>
<div class="boxes1">
<p>KALUKA</p>
<p>AKULA</p>
</div>
</div>