用css实现分栏布局

目前状态
图片描述

希望达到左边顶左边 右边顶右边 类似于flexbox space-between效果
图片描述

兼容到ie8

html

<div class="con">
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
</div>

css

.con {
  font-size: 0;
}

.box{
  width: 30%;
  display: inline-block;
  border:1px solid #440239;
  height: 50px;  
  font-size: 14px;
  /* margin: 1%; */
}

codepen.io地址

阅读 9.1k
8 个回答

@MockingBird 基础上修改的响应式?:



<div class="con"> <div class="box fleft"></div> <div class="box fright"></div> <div class="box center"></div> <div class="box fleft"></div> <div class="box fright"></div> <div class="box center"></div> <div class="box fleft"></div> <div class="box fright"></div> <div class="box center"></div> </div>
.con {
  font-size: 0;
  max-width: 960px;
  margin: 0 auto;
}

.box{
  display: block;
  border: 1px solid #000;
  height: 50px;  
  font-size: 14px;
  /* margin: 1%; */
}

.fleft {
  float: left;
  width: 20%;
  border-color: blue;
}
.fright {
  float: right;
  width: 20%;
  border-color: red;
}
.center {
  margin: 0 35%;
  width: auto;
}

用表格布局吧,或者找能shiv你需要的属性的htc文件

感觉你在自己实现一个grid。这里假定只有一行的情况。一个grid里,每一行都要用单独的div包裹起来。比如这里的.con。



<div class="con"> <div class="box"></div> <div class="box"></div> <div class="box"></div> </div> .con { font-size: 0; } .box{ width: 30%; box-sizing: border-box; display: inline-block; border:1px solid #440239; height: 50px; font-size: 14px; /* margin: 1%; */ } .box + .box { margin-left: 5%; }

三栏的话,最左边float: left
最右边 float: right 就行了

新手上路,请多包涵

可以都设成左浮动,然后设定一个宽度

新手上路,请多包涵

.con {
text-align:justify;
font-size:0px;
}
.con:after {
content:'';
display: inline-block;
width: 100%;
height: 0px;
}
.con .box {
display: inline-block;
margin-top:6px;
font-size: 12px;
width: 30%;
height: 16px;
background-color: red;
}

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