div+css布局实现2端对齐是我们网页排版中经常会使用到的,这篇文章将总结一下可以实现的方法:

html结构

实现demo里面的div通过Css进行2端对齐。

<div class="box">
<div class="demo">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
</div>

1.margin负值的方式

该方法需要外面多嵌套一层来实现,通过元素的间距,做为中间层的margin溢出值来实现

<style>
.box{
width:300px;margin:auto;overflow:hidden;border:1px solid #ddd;
}
.box .demo{
margin-left:-10px;width:310px
}
.box .demo div{
width:93.333px;/*(计算:(300-10*2)/3)*/
float:left;
margin-left:10px;
}
</style>

2.display:inline-block/text-align:justify方式

justify方式比较简单方便。只要一个简单元素做了声明,里面的元素就自动等间距两端对齐布局啦!根本无需计算每个列表元素间的margin间距,更不用去修改父容器的宽度。

注意一点:demo结构内元素必须存在【换行符】或【空格符】,否则直接连着写将不会生效

<style>
.demo{
margin:0;padding:0;
text-align:justify;
text-align-last:justify;/*解决IE的支持*/
line-height:0;/*解决标准浏览器容器底部多余的空白*/
}
@media all and (-webkit-min-device-pixel-ratio:0){
.demo{
font-size:0;/*webkit清除元素中使用[换行符]或[空格符]后,最后元素多余的空白*/
}
}
.demo:after{/*text-align-last:justify只有IE支持,标准浏览器需要使用 .demo:after 伪类模拟类似效果*/
display:inline-block;
overflow:hidden;
width:100%;
height:0;
content:'';
vertical-align:top;/*opera浏览器解决底部多余的空白*/
}
.demo div{
width:20%;
display:inline-block;
text-align:center;/*取消上层元素的影响*/
text-align-last:center;
font-size:12px;
}
</style>

3.css3 属性 space-between

该方法基于webkit内核的webapp开发和winphone IE10及以上,常用于移动端布局。

<style>
.demo{
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-webkit-justify-content:space-between;
-ms-flex-pack:justify;
justify-content:space-between;
} .demo div{
width:30%;
}
</style>

4.css3属性column-count

column属性是多列布局,使用column来实现两端对齐只需要设置模块的个数跟column的列数一致即可,推荐使用于移动端布局

<style>
.demo{
-webkit-column-count:3;-moz-column-count:3;column-count:3;
-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;
} .demo div{ }
</style>
参考链接
http://www.fly63.com/article/detial/24

最新文章

  1. mysql 事件
  2. poj2833
  3. Solr主从集群配置简要说明
  4. lightOJ 1132 Summing up Powers(矩阵 二分)
  5. 从算法入手讲解如何在SQL Server中实现最优最简
  6. linux下使用split 来分割大文件
  7. Oracle Statspack报告中各项指标含义详解~~学习性能必看!!!
  8. iOS 唯一设备号
  9. 你喜欢SOAP吗?反正我不喜欢!
  10. C socket post数据到url
  11. jdk8 之 java.time包AND DateUtils
  12. vi 方向键和Backspace键失效问题的解决方法
  13. Uva 11400 照明系统
  14. centos7 eclispe 编译C++遇到的问题总结
  15. [转载]深入理解JavaScript系列 --汤姆大叔
  16. Visual Studio Code compile error - launch.json must be configured...
  17. python程序中的调试:pdb
  18. JAVA Spring JavaBean 引入 JavaBean ( 外部引用, 内部定义, 级联属性 )
  19. [BZOJ4556][Tjoi2016&amp;Heoi2016]字符串 后缀数组+主席树
  20. struts-resultType属性

热门文章

  1. djanjo ORM 一对多、多对多
  2. POJ 2030
  3. [Javascript Crocks] Apply a function in a Maybe context to Maybe inputs (curry &amp; ap &amp; liftA2)
  4. eclipse+maven的web项目访问jsp乱码
  5. Java基础:异常捕获顺序
  6. c22---枚举
  7. Uva 11754(枚举+中国剩余定理)
  8. nyoj--744--蚂蚁的难题(一)
  9. 2017ACM/ICPC亚洲区沈阳站 C Hdu-6219 Empty Convex Polygons 计算几何 最大空凸包
  10. Svn install and use