1、rem
rem是相对于根元素的大小设置的,网页中的根元素指的是html我们通过设置html的字体大小就可以控制rem的大小。举个例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
html{
font-size:20px; }
p{
width: 600px;
overflow: hidden;
line-height: 1;
font-size: 1rem; }
</style></head> <body>
<p> 是啊啊啊
</p></body></html>登录后复制
html { font-size : 20px; } @media only screen and (min-width: 401px){ html { font-size: 25px !important; } } @media only screen and (min-width: 428px){ html { font-size: 26.75px !important; } } @media only screen and (min-width: 481px){ html { font-size: 30px !important; } } @media only screen and (min-width: 569px){ html { font-size: 35px !important; } } @media only screen and (min-width: 641px){ html { font-size: 40px !important; } }登录后复制
如果你不设置html的字体大小,就会使用16px作为基数来。这个比px的好处显而易见,你不需要对每个元素就进行一次@media,只需要对html根元素做不同尺寸的设置就可以了,兼容性也很好。
2、vw、vh
rem单位虽然依旧很简单了,但是依旧不够简单粗暴,还有一种更简单的,就是vw、vh单位。
相对于视口的宽度。视口被均分为100单位的vw。比如,1vw就相当于屏幕宽度的1%。直接上例子
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
p{
width: 20vh;
height: 30vw;
line-height: 1;
font-size: 1vw;
background: #FC8B53;
color: #fff;
}
</style>
</head>
<body>
<p>
是啊啊啊
</p>
</body>
</html>登录后复制
怎么个灵活法呢?比如你设置一个p的宽度是屏幕的50%,那么width就是50vw。这时候,你要设置它的高度是它的宽度的50%,如果不用vw咋办?你只能用js去算。但是用了vw就直接设置成25vw就搞定了。
但是这个有些兼容性的问题,ios是没有问题的,安卓手机自带浏览器要安卓系统4.4以上才行,别的浏览器都是可以的,只有自带的有问题。 不过现在谁还用安卓自带的浏览器去耍呢,在哪儿都找不到。所以,直接用vw、vh吧。


