一天,同事问我如果实现两段对齐的方式有几种呢?
我大概想了下说:有 5 种。 今天,抽空细想了下,发现不止 5 种呢!接下来一一为大家展示下。

具体效果可以看看这里
Demo

部分公共的样式

.demo,
h4 {width: 80%;margin: 0 auto 2em;
}
.demo {border: 1px solid red;padding: .5em;
}
h4 {margin-bottom: .5em;
}
.inner-item {border: 1px solid blue;
}
复制代码

1.text-align: justify

<div class="text-align-justify demo"><div class="inner-item">左边 div</div><div class="inner-item">右边 div</div>
</div>
复制代码
/*text align justify */
.text-align-justify {text-align: justify;text-align-last: justify;
}
.text-align-justify .inner-item {display: inline-block;
}
复制代码

2.float

<div class="float demo"><div class="fl inner-item">左边 div</div><div class="fr inner-item">右边 div</div>
</div>
复制代码
/* float */
.float {overflow: hidden;
}
.fl {float: left;
}
.fr {float: right;
}
复制代码

3.负margin + float

<div class="negative-margin demo"><div class="inner-item main">中间 div</div><div class="left inner-item">左边 div</div><div class="right inner-item">右边 div</div>
</div>
复制代码
/* negative-margin */
.negative-margin {height: 10vw;
}
.negative-margin .left,
.negative-margin .right,
.negative-margin .main {float: left;box-sizing: border-box;
}
.negative-margin .left,
.negative-margin .right {background-color: #fff;width: 20%;
}
.negative-margin .main {width: 100%;padding: 0 20%;background-color: #ccc;
}
.negative-margin .left {margin-left: -100%;
}
.negative-margin .right {margin-left: -20%;
}
复制代码

4.position

<div class="position pr demo"><div class="pa left inner-item">左边 div</div><div class="pa right inner-item">右边 div</div>
</div>
复制代码
/*position*/
.pr.demo {height: 10vw;
}
.pr {position: relative;
}
.pa {position: absolute;
}
.pa.right {right: .5em;
}
复制代码

5.table

<div class="table demo"><div class="inner-item">左边 div</div><div class="inner-item">中间</div><div class="inner-item">右边 div</div>
</div>
复制代码
/* table */
.table {display: table;
}
.table .inner-item {display: table-cell;
}
复制代码

6.flex

<div class="flex demo"><div class="inner-item">左边 div</div><div class="inner-item">右边 div</div>
</div>
复制代码
/* flex */
.flex {display: flex;justify-content: space-between;
}
复制代码

7.column

<div class="column demo"><div class="inner-item">左边 div</div><div class="inner-item">右边 div</div>
</div>
复制代码
/* column */
.column {column-count: 2;
}
复制代码

8.grid

<div class="grid demo"><div class="inner-item">左边 div</div><div class="inner-item">中间</div><div class="inner-item">右边 div</div>
</div>
复制代码
/* grid */
.grid {display: grid;grid-template-columns: 20% calc(100% - 40% - 1em) 20%;grid-row-start: 1;grid-row-end: 3;
}
复制代码

总结

除了 grid 和 column 的兼容问题需要注意下,其它的几种方式基本都没什么使用障碍。

本文首发

转载于:https://juejin.im/post/5b4366f66fb9a04fdb169fc2

两端对齐几种实现方案相关推荐

  1. android字符串两端对齐,一种AndroidTextView两端对齐的实现方法与流程

    技术特征: 1.一种Android TextView两端对齐的实现方法,其特征在于,包括: 数据管理器拿到系统属性,从缓存管理器中获取测量数据: 测量管理器从数据管理器中获取各种所需系统属性与文本内容 ...

  2. elementUI 表单label两端对齐

    elementUI 表单label两端对齐 第一种label没有带*号 第二种label带*号 第一种label没有带*号 修改之前 修改之后(英文无效) 样式调整 .el-form-content{ ...

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

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

  4. css+分散,【原】css实现两端对齐的3种方法

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

  5. 页面两端对齐布局,最全,最完整的方案

    文章目录 前言 实现 方案一 方案二 方案三 对比 总结 前言 在我们日常页面开发中,经常会碰到如下的场景,多行布局需要两端对齐,最后一行不满一行的,需要左对齐的情况.这里,我会把不同的实现方案做个总 ...

  6. css之文本两端对齐的两种解决方法

    css之文本两端对齐的两种解决方法 参考文章: (1)css之文本两端对齐的两种解决方法 (2)https://www.cnblogs.com/wl0804/p/11265225.html 备忘一下.

  7. html语言两端对齐末行首对齐,css两端对齐之div+css布局实现2端对齐的4种方法总结...

    div+css布局实现2端对齐是我们网页排版中经常会使用到的,这篇文章将总结一下可以实现的方法: html结构 实现demo里面的div通过Css进行2端对齐. 1 2 3 1.margin负值的方式 ...

  8. css+js解决文本两端对齐以及分散对齐

    一个很简单的设计排版样式,A图表示居左对其,但实际上我们想要的可能是B所示的对齐方式. 这就是传说中的两端对齐 还有一种更确切的说法是两端分散对齐. 最开始的时候 ,我试图使用CSS来解决这个小问题, ...

  9. android TextView 分散对齐(两端对齐)

    很多时候我们在做UI的时候会遇到要求文字两端对齐,对于习惯了使用wrap_content的我们来说确实很头疼. 经过查询资料我们发现有以下方法可以解决:感谢下面作者为我们提供的两种方案: http:/ ...

  10. chrome css两端对齐,两端对齐布局与text-align:justify

    百分比实现 首先最简单的是使用百分比实现,如下一个展示列表: .list{ width: %; background: #f0f0f9; list-style: none; font-size: ; ...

最新文章

  1. 获取crm服务器信息失败,无法连接到 Dynamics CRM 服务器,因为凭据身份验证 - Dynamics 365 Sales | Microsoft Docs...
  2. 费用流 ZOJ 3933 Team Formation
  3. mysql最高安全级别双一_MySQL核心之双一原则
  4. 程序员,互联网创业者,忠言逆耳,希望创业者们慎重,三思而后行。
  5. 关于程序员面试时的智力题集锦
  6. java int转byte出现负数 byte转int的解决
  7. 关闭WINDOWS文件保护功能
  8. 软件测试人员,究竟怎么霸气过七夕?!大神攻略请笑纳!
  9. 反编译工具的安装与使用(解决部分能反编译部分不能反编译)
  10. Stone Ocean(https://acs.jxnu.edu.cn/problem/GYM103495E)
  11. java linux gui_关于Java:安装Linux桌面/ GUI环境
  12. python开发工程师岗位简介_python开发工程师是什么
  13. 91 Three.js Texture纹理属性详解
  14. 价值 20 万美元的爱马仕包包是用蘑菇做的,你还会买吗?
  15. java新手面试微信交流群
  16. 2014网络知名艺人网络红人排行榜网络红人帅哥都有谁
  17. 大学生须知:毕业当程序员想要提升“核心竞争力”,主要看这六点!
  18. 安卓自定义View进阶-事件分发机制原理【转自 app架构师 微信公众号】
  19. vnc 使用gnome桌面_使用GNOME桌面工具管理Linux
  20. 关于卸载杀毒软件AVG的方法

热门文章

  1. 算法训练 表达式计算
  2. Windows mobile美化之-短信界面美化修改~
  3. TCP粘包拆包基本解决方案
  4. 发布的站点自定义端口打不开解决方法
  5. 词法分析程序实验报告
  6. 数据库,规则库和知识库的比较
  7. 阅读器关闭时尝试调用 Read 无效
  8. Windows下C++计算代码段运行时间
  9. zero to one (2)
  10. C++学习一explicit