当前位置: 首页 > java >正文

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

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

响应式网页设计出现以来,更多是使用百分比布自适应布局,特别是在移动端,两端对齐的方式显得越来越重要。那么,如何使用css实现两端对齐,相信很多同学会文本对齐的text-align:justify,这是今天要讲的其中一种方式,另外还有两种更精彩的实现方式,请往下看~

下图是需要实现的demo,取了宽度分别为320px、480px、640px下的截图,也就是说再随浏览器窗口宽度的调整,按钮菜单高度不变,宽度会按比例自动适应,且左右两端对齐:

 

方法一:使用text-align:justify

感谢join同学提供的方案,使用该方案可以做到兼容所有的浏览器,不过实现起来会比较复杂,而且带有hack的味道

text-align:justify 属性是全兼容的,使用它实现两端对齐,需要注意在模块之间添加[空格/换行符/制表符]才能起作用,同样,实现文本对齐也是需要在字与字之间添加[空格/换行符/制表符]才能起作用

HTML:

<p>模块内的元素之间为&nbsp;分隔,只支持webkit和Gecko内核浏览器</p>
<br />
<div class="demo"><a class="link" href="#none">10元</a>&nbsp;<a class="link" href="#none">20元</a>&nbsp;<a class="link" href="#none">30元</a>&nbsp;<a class="link" href="#none">50元</a>
</div>
<br />
<p>模块内的元素之间为换行符</p>
<br />
<div class="demo"><a class="link" href="#none">10元</a><a class="link" href="#none">20元</a><a class="link" href="#none">30元</a><a class="link" href="#none">50元</a>
</div>
<br />
<p>模块内的元素之间为空格符</p>
<br />
<div class="demo">
<a class="link" href="#none">10元</a> <a class="link" href="#none">20元</a> <a class="link" href="#none">30元</a> <a class="link" href="#none">50元</a>
</div>
<br />
<p>模块内的元素之间为无分隔符,justify不起作用</p>
<br />
<div class="demo"><a class="link" href="#none">选项1</a><a class="link" href="#none">选项2</a><a class="link" href="#none">选项3</a><a class="link" href="#none">选项4</a></div>
<br />

CSS:

*{margin:0;padding:0;}
/* 说明:1.IE中要实现块内单行两端对齐需要使用其私有属性text-align-last:justify配合,text-align-last 要生效,必须先定义text-align 为justify2.line-height:0 解决标准浏览器容器底部多余的空白
*/
.demo{text-align:justify;text-align-last:justify;line-height:0;height:44px;
}
/*说明:模块使用[换行符]或[空格符]后,webkit浏览器中会引起最后一个模块有多余空白,使用font-size:0可清除该空格
*/
@media all and (-webkit-min-device-pixel-ratio:0){
.demo{font-size:0;
}
}/* 说明:1.text-align-last:justify 目前只有IE支持,标准浏览器需要使用 .demo:after 伪类模拟类似效果 2.opera浏览器需要添加 vertical-align:top 才能完全解决底部多余的空白*/
.demo:after{display:inline-block;overflow:hidden;width:100%;height:0;content:'';vertical-align:top;
}
.demo a{width:20%;display:inline-block;height:44px;line-height:44px;text-align:center;border:1px solid #428cc8;color:#666;font-size:16px;margin-bottom:5px;border-radius:3px;background-color:#fefefe;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fefefe),color-stop(1,#eee));color:#666;text-decoration:none;
}

 

转载于:https://www.cnblogs.com/yhdsir/p/4788431.html

http://www.xdnf.cn/news/11378.html

相关文章:

  • 机动战士高达观影顺序
  • 光耦合器知识概述
  • HTTP 和 HTTPS 的区别(面试常考题),计算机专业学生必备
  • 堆栈溢出
  • (译)追本溯源 —— C之精神
  • JAVA常用类—————StringTokenizer类
  • 重磅发布!吴恩达 AI 完整课程资源超级大汇总!
  • 微信web开发者工具
  • .wav文件详解,PCM数据格式,.wav生成C语言数组
  • Oracle数据库导入工具IMP详解与用法
  • java porm.xml_如何通过Maven仓库安装Spire系列的Java产品
  • java复习 02
  • 苹果CMS采集资源站
  • cognos入门
  • random()随机函数
  • System V消息队列报Resource temporarily unavailable 错误
  • C#-TimeSpan格式化字符串格式
  • GoAhead4 - 用户认证
  • 五种多目标优化算法(MOFA、NSWOA、MOJS、MOAHA、MOPSO)性能对比(提供MATLAB代码)
  • jxl使用总结(三)
  • Git命令操作【全系列】
  • 植物大战僵尸汉化教程 怎样玩中文版的植物大战僵尸
  • 一文看懂人机对话
  • Glassfish安装、基本使用、在idea中配置Glassfish
  • C# List用法 List介绍
  • 三极管工作原理详解
  • 数据库的底层原理,你知道吗?
  • 详解Python文件: .py、.ipynb、.pyi、.pyc、​.pyd !
  • C语言面试题大汇总
  • 最大矩形面积问题——单调栈法