实现rem布局的方式和效果 实现平均分布对齐的方式(flex与justify) 平均分布对齐的应用
基于百分比的布局这里就演示了,Bootstrap 已经应用很普遍,相信基本都已经熟知他的原理,若是还有不明白的能够去Bootstrap中文网去看官方文档。基本原理是经过media query来调整容器的宽度值来控制内部column的百分比和显示隐藏javascript
body中的字体大小
应用的技术要点:css
从图中能够看出 HTML的font-size是根据屏幕大小的变化而变化的,而内容的大小也是等比缩放 原理: `px` 固定值 `em` 是相对于其父元素来设置字体大小 `rem` 值相对于根HTML中字体的大小 若是页面上的元素大小都是相对于根的大小,那么就会随着根元素大小变化而变化 (道理就是这么简单)
flex
html
.nav_list { box-sizing:border-box; overflow:hidden; margin:0 .1rem;border:1px solid #5e646e; border-radius:.04rem; display:flex; flex-wrap:wrap; } .nav-item { position:relative; max-width:100%; flex:1; }
text-align:justify
java
/*----justify 布局*/ .itemlist ul { text-align:justify; font-size:0; letter-spacing:-4px;} .itemlist ul:after { display: inline-block; width:100%; height:0; content:'';vertical-align: top;overflow:hidden; }
使用js来监听窗口大小来调整根字体的值,从而控制rem的大小bootstrap
var orientationChangeEv = function(){ var winW = window.innerWidth, w, fontSize; //保证window内部的宽度在320-640之间,最小为320,最大为640 w = (winW <= 320) ? 320 : ((winW >= 640) ? 640 : winW); //根据窗口的大调整字体的大小 fontSize = 100 * (w / 320); document.documentElement.style.fontSize = fontSize + 'px'; }; //绑定window的resize事件 window.addEventListener('resize',orientationChangeEv); //初始时,执行一次 setTimeout(orientationChangeEv, 0);
flex
能够轻松的实现平均分布对齐
text-aling:justify;
须要必定的条件:必须有换行行为才能触发平均分布对齐
在项目列表有多行显示时,最后一行没法换行会形成不能平均分布
解决的方式是 父容器使用伪类:after
的方式添加一个内联元素,宽度100%,来触发换行
ul:after { display: inline-block; width:100%; height:0; content:'';vertical-align: top;overflow:hidden;}
iphone
图例:
wordpress
仿淘宝充值响应式界面DEMO
布局
See the Pen jEXmpj by LT (@togglelt) on CodePen.字体
大漠 Text-align:Justify和RWD
张鑫旭 display:inline-block/text-align:justify下列表的两端对齐布局
移动端H5页面之iphone6的适配flex