首页 > 代码库 > CSS实现横列布局的方法总结
CSS实现横列布局的方法总结
一、使用float实现横列布局的方法
如下面所示:DIV1和DIV2都可以选择向左或者向右浮动50%来实现展示在同一行
div1 | div2 |
实现下面图片中布局的css样式如下:
分析:
1、第一行第一个图片和最后一个图片的左右边距是10px,中间图片的左右边距是5px。布局如下:
<section class="active_div1"> <div> <img id="active_div11" src=""> </div> <div> <img id="active_div12" src=""> </div> <div> <img id="active_div13" src=""> </div> </section>
|
.active_div1 div { float: left; width: 33.33%; box-sizing: border-box; } .active_div1 div:nth-child(1) { padding-left: 10px; } .active_div1 div:nth-child(3) { padding-right: 10px; } .active_div1 div:nth-child(2) { padding: 0 5px; }
|
2、第二行只有中间图片的最有边距是5px;布局如下:
<section class="active_div2"> <div> <img id="active_div21" src="" onclick="imgClick(this)"> </div> <div> <img id="active_div22" src="" onclick="imgClick(this)"> </div> <div> <img id="active_div23" src="" onclick="imgClick(this)"> </div> </section>
|
.active_div2 div { width: 33.33%; float: left; box-sizing: border-box; } .active_div2 div:nth-child(2) { padding: 0px 5px; }
|
·
注意:使用box-sizing: border-box后如果没有其他样式,所有的块将全部贴在一起,中间是没有任何间距的。这也是一个很经典的布局
二、使用display:inline-block
display:inline-block大多数用于行块的转换,不建议使用此属性来进行行列布局。因为inline-block不能完全代替float
红框中的布局就是使用display:inline-block最经典的布局。
<header id="consume_h"> <span>已过期为消费不退款</span> <span>免预约</span> </header>
|
.consume_h span { display: inline-block; } .consume_h span:before { content: "\f120"; display: inline-block; margin-right: 5px; margin-left: 10px; font-family: "Ionicons"; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; }
|
此处使用了伪类,关于伪类的定义是使用后面会有专门的笔记来记录,这里就不赘述了。
此出还有一个经典的布局:
这种布局一般是:
<div> <img src="" alt=""> <p> 测试勿拍 </p> </div>
使用定位position:absolute常用于左边固定,右边自适应的情况。
- 对div进行相对定位
- 对img进行绝对定位
- p进行相对定位
注:固定宽度列的高度>自适应宽度列?
三、使用flexible box实现 真正意义上的流体布局
这种方法本人还没有真正在实际操作中体验过,此处先记录下来~
CSS实现横列布局的方法总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。