如何让float的div,其中某一个div高度增加多倍后,仍旧是一行两个div

我的页面上有5个div,代码如下:

<!doctype html>
<html lang="en">
 <head>
  <title>Document</title>
  <link rel="stylesheet" href="./style.css" type="text/css"/>
  <script src="./jquery.1.8.3.min.js"></script>
 </head>
 <body>
  <div class="col1">行1</div>
  <div class="col2">行2</div>
  <div class="col3">行3</div>
  <div class="col4">行4</div>
  <div class="col5">行5</div>
 </body>
</html>

style.css

html,body{width:100%;height:100%;}
div{width:50%;float:left;text-align:center;display:block;}
.col1{height:30px;line-height:30px;background-color:yellow;}
.col2{height:30px;line-height:30px;background-color:red;}
.col3{height:30px;line-height:30px;background-color:grey;}
.col4{height:30px;line-height:30px;background-color:green;}
.col5{height:30px;line-height:30px;background-color:blue;}

现在显示的效果
图片描述

当增加col3的高度为70px的时候,布局变成这样了,如下:
图片描述

我现在想要这样的效果,如下图:
图片描述

回复
阅读 3.2k
3 个回答

css3选择器清除奇数div的左浮动即可

分成左右两边

<div class="left" style="float:left">
    <div class="col1">行1</div>
    <div class="col3">行3</div>
    <div class="col5">行5</div>
</div>
<div class="right" style="float:right">
    <div class="col2">行2</div>
    <div class="col4">行4</div>
</div>

这个问题导致的原因是当你浮动时,左边空间不足,会自动浮动到右边
你可以写一个 通过判断div高度的js来动态插入div解决,我之前做瀑布流就是这么解决的
希望随你有所帮助

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏