css两端对齐——div+css布局实现2端对齐的4种方法总结
div+css布局实现2端对齐是我们网页排版中经常会使用到的,这篇文章将总结一下可以实现的方法:
html结构
实现demo里面的div通过Css进行2端对齐。
1 <div class="box"> 2 <div class="demo"> 3 <div>1</div> 4 <div>2</div> 5 <div>3</div> 6 </div> 7 </div>
1.margin负值的方式
该方法需要外面多嵌套一层来实现,通过元素的间距,做为中间层的margin溢出值来实现
1 <style> 2 .box{ 3 width:300px;margin:auto;overflow:hidden;border:1px solid #ddd; 4 } 5 .box .demo{ 6 margin-left:-10px;width:310px 7 } 8 .box .demo div{ 9 width:93.333px;/*(计算:(300-10*2)/3)*/ 10 float:left; 11 margin-left:10px; 12 } 13 </style>
2.display:inline-block/text-align:justify方式
justify方式比较简单方便。只要一个简单元素做了声明,里面的元素就自动等间距两端对齐布局啦!根本无需计算每个列表元素间的margin间距,更不用去修改父容器的宽度。
注意一点:demo结构内元素必须存在【换行符】或【空格符】,否则直接连着写将不会生效
1 <style> 2 .demo{ 3 margin:0;padding:0; 4 text-align:justify; 5 text-align-last:justify;/*解决IE的支持*/ 6 line-height:0;/*解决标准浏览器容器底部多余的空白*/ 7 } 8 @media all and (-webkit-min-device-pixel-ratio:0){ 9 .demo{ 10 font-size:0;/*webkit清除元素中使用[换行符]或[空格符]后,最后元素多余的空白*/ 11 } 12 } 13 .demo:after{/*text-align-last:justify只有IE支持,标准浏览器需要使用 .demo:after 伪类模拟类似效果*/ 14 display:inline-block; 15 overflow:hidden; 16 width:100%; 17 height:0; 18 content:''; 19 vertical-align:top;/*opera浏览器解决底部多余的空白*/ 20 } 21 .demo div{ 22 width:20%; 23 display:inline-block; 24 text-align:center;/*取消上层元素的影响*/ 25 text-align-last:center; 26 font-size:12px; 27 } 28 </style>
3.css3 属性 space-between
该方法基于webkit内核的webapp开发和winphone IE10及以上,常用于移动端布局。
1 <style> 2 .demo{ 3 display:-webkit-box; 4 display:-webkit-flex; 5 display:-ms-flexbox; 6 display:flex; 7 -webkit-box-pack:justify; 8 -webkit-justify-content:space-between; 9 -ms-flex-pack:justify; 10 justify-content:space-between; 11 } 12 13 .demo div{ 14 width:30%; 15 } 16 </style>
办公资源网址导航 https://www.wode007.com
4.css3属性column-count
column属性是多列布局,使用column来实现两端对齐只需要设置模块的个数跟column的列数一致即可,推荐使用于移动端布局
1 <style> 2 .demo{ 3 -webkit-column-count:3;-moz-column-count:3;column-count:3; 4 -webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px; 5 } 6 7 .demo div{ 8 9 } 10 </style>
完结~~~~~有更好的实现请留言哦