后端现学现用前端:手机、平板与PC兼容

118 阅读1分钟

index.html头部添加meta语句

<meta name="yiewport"content="width-device-width, 
        initial-scale=l.0, maximum-scale=l.0, user-scalable-no"/>

将上述语句加在模板文件index.html中,如下

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    ...
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0, user-scalable=no"/>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <title>...</title>
  </head>
  <body>
    <div id="root"></div>
    ...
  </body>
</html>

meta各参数说明: width = device-width: 宽度等于当前设备的宽度
initial-scale: 初始的缩放比例 (默认设置为1.0)允许用户缩放到的最小比例(默认设置为1.0)
minimum-scale:maximum-scale:允许用户缩放到的最大比例(默认设置为1.0)
user-scalable:用户是否可以手动缩放(默认设置为no,因为我们不希望用户放大缩小页面)

css样式根据不同的设备添加不同的样式:

字体大小做统一调整: 设备的默认大小都是16px; 设置为62.5%就是10px; 1rem就是10px,calc(40vh)是页面大小的40%高度(vw是宽,vh是高)

body{
    font-size: 62.5%
}

/* pc 宽度大于1200px */
@media screen and (min-width: 1200px){
    .header {
        min-height: 20rem;
        margin: calc(37vh) auto;
    }
}

/* 平板 小于1199 大于501px*/
@media screen and (max-width: 1199px)  and (min-width: 501px) {
    .header {
        min-height: 20rem;
        margin: calc(37vh) auto;
    }
}

 /* 手机 最大500px*/
@media screen and (max-width: 500px) {
    .header {
        height: 20rem;
    }
}


后记

现在有不少的框架也有自适应布局组件,但是我们要是了解原生的方法,未来在用组件时碰到问题会方便很多。