實現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