实现img,文字平均分布问题解决方案
2016-06-24 14:56
513 查看
“像编辑word一样实现两端对齐”
左对齐和右对齐都是很常见的对齐方式,但是很多时候两端对齐也是必须解决的。文本对齐的text-align:justify,大家都不陌生,它只兼容ie浏览器,然而两端对齐对于很多响应式网页和移动端的自适应有很大的用处,比如几个按钮,不管你屏幕尺寸怎么变化都要他们之间的间隙保持不变,css3对这一块也有解决方案,虽然兼容性不是很好。不失为一种好的渐进增强方案。
1,
要说的,要注意的,都在代码里面注释了,实在没有必要过多的解释什么。
2,
版本迭代问题,box-pack是css3的新属性,依赖于display:box(旧版弹性布局),受box-orient影响,box-pack决定了子标签水平对齐的方式,可选值有start | end | center | justify。使用box-pack:justify来实现两端对齐非常简单,代码量也少。如果是display:flex(新版弹性布局)则用justify-content为水平对齐方式~
把它们2中方式都写出来
核心代码应该是这样
3,
这个也是很简单的,只需用column-count定义对象的列数,我这个demo有4个img,那么定义为4列 column-gap定义了对象中列与列的间距,这个只能写死或者根据排版计算间距,间距不能设置为百分比,显得不够灵活
添加以下前缀就好:
参考网站 http://www.cnblogs.com/PeunZhang/p/3289493.html
左对齐和右对齐都是很常见的对齐方式,但是很多时候两端对齐也是必须解决的。文本对齐的text-align:justify,大家都不陌生,它只兼容ie浏览器,然而两端对齐对于很多响应式网页和移动端的自适应有很大的用处,比如几个按钮,不管你屏幕尺寸怎么变化都要他们之间的间隙保持不变,css3对这一块也有解决方案,虽然兼容性不是很好。不失为一种好的渐进增强方案。
1,
text-align: justify+inline-block以及模拟text-align
这里写出通用简单列子结构,下文不在累赘~ <ul> <li><img src="./header.png" alt=""></li> <li><img src="./header.png" alt=""></li> <li><img src="./header.png" alt=""></li> <li><img src="./header.png" alt=""></li> </ul> 第一种实现样式: * { padding: 0; margin: 0; } ul li img { width: 100px; height: 100px; } /* attention: 1.IE中要实现块内单行两端对齐需要使用其私有属性text-align-last:justify配合,text-align-last 要生效,必须先定义text-align为justify 2.line-height:0 解决标准浏览器容器底部多余的空白 3.font-size:0清楚firefox下多余的空白 */ ul { width: 600px; height: 100px; margin: 0 auto; border: 1px solid #abcdef; overflow: hidden; text-align: justify; text-align-last: justify; line-height: 0; font-size: 0; } ul li { list-style: none; display: inline-block; } /* 模拟text-align: 1.text-align-last:justify 目前只有IE支持,标准浏览器需要使用 .demo:after 伪类模拟类似效果 2.opera浏览器需要添加 vertical-align:top 才能完全解决底部多余的空白 */ ul::after { content: ""; display: inline-block; height: 0; font-size: 0; width: 100%; vertical-align: top; }
要说的,要注意的,都在代码里面注释了,实在没有必要过多的解释什么。
2,
css3 flex+justify-content: space-between;或者flexbox+box-pack:justify
版本迭代问题,box-pack是css3的新属性,依赖于display:box(旧版弹性布局),受box-orient影响,box-pack决定了子标签水平对齐的方式,可选值有start | end | center | justify。使用box-pack:justify来实现两端对齐非常简单,代码量也少。如果是display:flex(新版弹性布局)则用justify-content为水平对齐方式~
把它们2中方式都写出来
核心代码应该是这样
ul { width: 600px; height: 100px; margin: 0 auto; border: 1px solid red; overflow: hidden; 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; }
3,
css3 column(多列布局)
这个也是很简单的,只需用column-count定义对象的列数,我这个demo有4个img,那么定义为4列 column-gap定义了对象中列与列的间距,这个只能写死或者根据排版计算间距,间距不能设置为百分比,显得不够灵活
添加以下前缀就好:
ul{ -webkit-column-count:4; -moz-column-count:4; column-count:4; -webkit-column-gap:20px; -moz-column-gap:20px; column-gap:20px; }
参考网站 http://www.cnblogs.com/PeunZhang/p/3289493.html
相关文章推荐
- CSS3属性教程与案例分享
- CSS3属性教程与案例分享
- CSS3的calc()使用
- 使用CSS3的appearance属性改变元素的外观
- CSS3美化图片
- CSS3质感分析——表面线性渐变
- 分析选项卡底部内凹圆角制作
- 细说百度图片栏目——图片展示效果
- 8个实用的响应式设计框架
- 20+ Animation Scripts, Libraries and Plugins
- Patrol 7 架构下?的处理方法
- 新时代编辑神器:Atom
- 中病毒后常用的解决方法病毒终极解决方案
- 如何使用CSS3画出一个叮当猫
- 基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
- QQ尾巴 InfoMs.Ime 解决方案
- IE对CSS样式表的限制分析与解决方案
- 开源MySQL高效数据仓库解决方案:Infobright详细介绍
- jQuery CSS3相结合实现时钟插件
- CSS3实现动态翻牌效果 仿百度贴吧3D翻牌一次动画特效