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

兼容IE的两端对齐的更多相关文章

  1. 使用text-align:justify,让内容两端对齐,兼容IE及主流浏览器的方法

    如果不喜欢看分析过程,可以跳到最后看最终兼容方案 史前方法: 以前实现两端对齐是这样的: <p class="box1">密  码</p> <p cl ...

  2. 【原】css实现两端对齐的3种方法

    说到两端对齐,大家并不陌生,在word.powerpoint.outlook等界面导航处,其实都有一个两端对齐(分散对齐)的按钮,平时使用的也不多,我们更习惯与左对齐.居中对齐.右对齐的方式来对齐页面 ...

  3. css实现两端对齐~

    今天做表单时遇到让上下两个字段对齐的情况,手机号码.用户名. 然后今天在网上找了找相关方法,发现确实是没有什么好的方法解决,特别是当需要兼容的时候.找到了两个我觉得相对还不错的方法: 方法一.是在司徒 ...

  4. css实现两端对齐的3种方法

    两端对齐在移动端非常见,说到两端对齐,大家并不陌生,在word.powerpoint.outlook等界面导航处,其实都有一个两端对齐(分散对齐)的按钮,平时使用的也不多,我们更习惯与左对齐.居中对齐 ...

  5. CSS两端对齐

    前面的话   两端对齐在导航条Tab的制作中非常常用.本文将详细介绍CSS两端对齐的3种实现方式 flex   弹性盒模型flex作为强大的弹性布局方式,可以hold住大部分的布局效果,当然也包括两端 ...

  6. css之文本两端对齐

    在进行网页设计时,我们经常会看到这样的样式:文本两端对齐. css为我们提供了一个属性可以实现这样的效果:text-align: justify.不过这个只能用来设置多行文本(除最后一行).如果只有单 ...

  7. 自适应的两端对齐:text-align:justify

    <!DOCTYPE HTML> <html> <head> <title>文本两端对齐 by hongchenok</title> < ...

  8. text-align:justify 两端对齐

    今天看页面发现一个以前没用过的css属性text-align:justify,查了一下非常实用,是一个实现文本两端对齐的属性. 使用前: 使用后: 看了一些文章还有结合inline-block+tex ...

  9. css实现表单label文字两端对齐

    如图,在我们写页面的时候,经常遇到这种的情况,而需求是想让label文字两端对齐,我们来看看如何用css解决 /**css代码**/ ul li{ list-style: none; } .info- ...

随机推荐

  1. likely, unlikely的作用

    在项目中看到了likely.unlikely宏的使用, 一直不是非常清楚它们的作用,所以就深究下. likely表示被測试的表达式大多数情况下为true, unlikely则表示相反. 两个宏定义: ...

  2. fastjson null 值处理

    偶然用到fastjson转换json 在前台用js解析竟然某些字段没有,曾经用过gson.联想到是不是相似gson默认将null值不显示了,找了下资料果真如此 直接上代码吧 import java.u ...

  3. 随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value

    利用Java提供的Random类.从List或Set中随机取出一个元素,从Map中随机获取一个key或value. 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后.利用一 ...

  4. UVA 10888 - Warehouse(二分图完美匹配)

    UVA 10888 - Warehouse option=com_onlinejudge&Itemid=8&page=show_problem&category=562& ...

  5. luogu2303 [SDOI2012] Longge的问题

    题目大意:给出n,求sum foreach i(1<=i<=n) (gcd(n, i)). 1~n有太多的数,但是n与m的最大公约数却有很多重复.所以我们枚举最大公约数k,然后让k乘以与n ...

  6. hdoj--2015--偶数求和(水题)

    偶数求和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  7. 【NOIP 2009】 靶形数独

    [题目链接] https://www.luogu.org/problemnew/show/P1074 [算法] 搜索 + 剪枝 [代码] #include<bits/stdc++.h> u ...

  8. Node.js:函数

    ylbtech-Node.js:函数 1.返回顶部 1. Node.js 函数 在JavaScript中,一个函数可以作为另一个函数的参数.我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接 ...

  9. [Database] 列出MSSQL所有数据库名、所有表名、所有字段名

    1.获取所有数据库名 Select Name From Master..SysDatabases order By Name 2.获取所有表名 Select Name From SysObjects ...

  10. MySQL视图、触发器、事务、存储过程、函数

    视图.触发器.事务.存储过程.函数   阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据 ...