1.remjavascript
rem (font size of the root element)是指相对于根元素<html>字体大小的单位。css
<html> <head> <style type="text/css"> html{ font-size: 20px; } div{ width: 100rem; height: 60rem; } </style> </head> <body> <!--div宽度为:100 * 20px =200px;高度为60 * 20px = 120px--> <div></div> </body> </html>
2.移动端栅格化html
把不一样大小的移动端屏幕的宽度划分为相同个数的片断,这个片断的长度就是栅格的高度和宽度。假设横向的栅格数为16:若屏幕的宽度为320px,则每一个栅格的宽度和高度为20px;若屏幕的宽度为240px,则每一个栅格的的宽度和高度为15px。不一样屏幕横向的栅格数相同,格子的大小随屏幕的大小而改变,一个元素的宽度与高度占有固定个数的格子。java
<html> <head> <style> html{ /* 屏幕宽度320px */ font-size:64px; /* 屏幕宽度240px */ font-size:48px; } div{ width:3rem; height:2rem; background-color:#be4aa0; } </style> </head> <body> <div> </div> </body> </html>
如上所示,假设把横向的栅格数固定为5,使用javascript根据屏幕的宽度计算html元素的font-size的值,若屏幕宽度为240px,fonz-size的值为240px % 5 = 48px,即一个栅格的高度和宽度为48px(1rem = 48px)。若屏幕宽度为320px,同理计算知栅格的宽度和高度为64px(1rem = 64px)。div的宽度设为3rem,至关于占3个栅格,高度设为2rem,至关于占2个栅格。字体
总之,把屏幕划分为一个一个栅格,而且宽度方向上的栅格数在不一样屏幕上相同,每一个元素的宽度和高度所占的栅格数固定,达到相似放大或缩小的效果。spa
3.应用设计
只基于一个尺寸大小的设计稿写网页,如375px * 667px,其余的不一样大小的屏幕在执行时,按照原设计放大或缩小。code