首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浮动div低于合作伙伴

浮动div低于合作伙伴
EN

Stack Overflow用户
提问于 2016-11-04 13:23:48
回答 3查看 72关注 0票数 3

考虑以下HTML结构,

代码语言:javascript
复制
<div class='floated' id='div1'></div>
<div class='floated' id='div2'></div>
<div class='floated' id='div3'></div>

使用以下CSS

代码语言:javascript
复制
.floated {
  width: 50%;
  float: left;
}

#div1 {
  height: 300px;
  background-color:red;
}

#div2 {
  height: 30px;
  background-color: green;  
}

#div3 {
  height: 30px;
  background-color: yellow; 
}

这样,#div1将占据页面左侧300 up高的部分,而#div2#div3将被浮动到页面的右侧。我如何设置我的CSS,使#div1#div2占据一行(高度300 up,两者的最大高度),而#div3将放置在#div1的正下方?

我没有控制这些div的高度,这是动态的,有时第一个只有20个像素,第二个是1000个像素,而反过来也是一个可能性。

这里有一个小提琴:https://jsfiddle.net/1u55fukj/

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-11-04 13:29:55

您可以在父元素上使用Flexbox (本例中为body),也可以使用flex-wrap: wrap。这将使同一行中的两个div都等于或等于一个较高的DEMO的高度。

代码语言:javascript
复制
body {
  display: flex;
  flex-wrap: wrap;
}
.floated {
  flex: 0 0 50%;
}
#div1 {
  height: 300px;
  background-color: red;
}
#div2 {
  background-color: green;
}
#div3 {
  height: 30px;
  background-color: yellow;
}
代码语言:javascript
复制
<div class='floated' id='div1'></div>
<div class='floated' id='div2'></div>
<div class='floated' id='div3'></div>

票数 1
EN

Stack Overflow用户

发布于 2016-11-04 13:29:06

如果行中只有2个div,那么可以尝试将clear:left交给odd child

代码语言:javascript
复制
.floated {
  width: 50%;
  float: left;
}
#div1 {
  height: 300px;
  background-color: red;
}
#div2 {
  height: 30px;
  background-color: green;
}
#div3 {
  height: 30px;
  background-color: yellow;
}
div.floated:nth-child(odd) {
  clear: left
}
代码语言:javascript
复制
<div class='floated' id='div1'>

</div>
<div class='floated' id='div2'>

</div>
<div class='floated' id='div3'>

</div>

票数 1
EN

Stack Overflow用户

发布于 2016-11-04 14:00:44

我认为柔性箱是你最好的选择。

您可以使用div容器,然后使用display flex。

代码语言:javascript
复制
.container{
  height: 500px;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
.floated {
  width: 50%;
}

#div1 {
  height: 30%;
  background-color:red;
}

#div2 {
  height: 60%;
  background-color: green;  
}

#div3 {
  height: 40%;
  background-color: yellow; 
}
代码语言:javascript
复制
<div class="container">
  <div class="floated" id="div1"></div>
  <div class="floated" id="div2"></div>
  <div class="floated" id="div3"></div>
</div>

您还可以将第3次div和更多:D. Flexbox具有良好的交叉浏览支持使用-moz-,-webkit-等,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40423801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档