css两端对齐之div+css布局实现2端对齐的4种⽅法总结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;
text align center}
.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>
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论