计划介绍
挪动端设计稿: 375*768 【基准】
通常有两种计划,对立的思维就是 设计稿基准值*设施宽度比
375px=100% 宽度 也就是说1px = 100/375 %
在375下1px,则在750px下 750/375 * 100/375 = 200/375 %;
计划一:px 转vw
vw: 页面总宽度为100vw。
能够配置转换时的设施宽度是375,会在不同设施宽度上进行适配。能够设置在横屏时持续应用设施宽坐基准值。
'postcss-px-to-viewport': {
unitToConvert: 'px', //须要转换的单位,默认为"px"
viewportWidth: 375, // 视窗的宽度,对应的是咱们设计稿的宽度
viewportHeight: 667,//视窗的高度,依据375设施的宽度来指定,个别指定667,也能够不配置
unitPrecision: 13, // 指定`px`转换为视窗单位值的小数位数(很多时候无奈整除)
propList: ['*'], // 能转化为vw的属性列表
viewportUnit: 'vw', // 指定须要转换成的视窗单位,倡议应用vw
fontViewportUnit: 'vw', //字体应用的视口单位
selectorBlackList: ['.ignore-', '.hairlines'], //指定不转换为视窗单位的类,能够自定义,能够有限增加,倡议定义一至两个通用的类名
minPixelValue: 1, // 小于或等于`1px`不转换为视窗单位,你也能够设置为你想要的值
mediaQuery: false, // 容许在媒体查问中转换`px`
replace: true, //是否间接更换属性值,而不增加备用属性
exclude: [], //疏忽某些文件夹下的文件或特定文件,例如 'node_modules' 下的文件
landscape: true, //是否增加依据 landscapeWidth 生成的媒体查问条件 @media (orientation: landscape)
landscapeUnit: 'vh', //横屏时应用的单位
landscapeWidth: 375 //横屏时应用的视口宽度
}
计划二: rem
把基准值设置为rem, 在款式里都是依照rem来写
(function() {
var designWidth = 375;
var rem2px = 100;
var tid;
function setRfs() {
document.documentElement.style.fontSize =
Math.max(
(window.innerWidth / designWidth) * rem2px,
(document.documentElement.clientWidth / designWidth) * rem2px,
85.3333
) + 'px';
}
setRfs();
window.addEventListener(
'resize',
function() {
clearTimeout(tid);
tid = setTimeout(setRfs, 300);
},
false
);
})();
手机端实际
通用解决
- 字体大小/行间距/元素宽高/元素内外间距 这些能够依据下面的规定开发间接解决
对齐形式
- 边距固定,内容居中
- 高度固定,内容居中
- 吸顶/吸底
图片
- 页面个别应用png图片(反对通明)
- 图片要给到研发能做切图,研发切图分辨率个别为2x
- 要指明图片在容器中如何适应? 是100%适应缩放还是宽/高 任意一边达到容器了就不再缩放
动画
- 不要求高清晰度或者区域很小的动画的最简略解决是给gif
- 要求品质高/区域大的动画能够用apng, 然而apng 在极少数手机上显示有问题,不会循环播放
- 前端也能够写动画,须要给到动画参数(比方每一帧图像/动画的静止轨迹等)
非凡设置
- 投影: 前端能够做简略的元素投影,无奈做多方向混合投影
- 圆角:前端能够做圆角,然而如果元素里有图片无奈做到无缝填充,这时候须要把带有圆角的容器做成背景图
- 字体:能够设置非凡字体,须要给到字体包,字体包要求尽量小,这就须要包里尽量做到只蕴含用到的字体,参考值150k
- 字重:安卓只有两个:normal(400) bold(700); IOS 反对设置数值
Pad适配
依据设施宽度判断是什么设施
针对不同的宽度,css里设置不同的款式
手机端的页面如何间接适配到ipad上?
- 如果不解决,在pad上的显示会依照下面的计划失常缩放。
- 如果想在pad上在不扭转整体布局的状况下做整屏适配,研发能够设置整个页面的scale,设计须要给到pad稿在放在手机基准上等比缩放宽度撑满之后的页面高度,这样就得出了scale 值
- pad端的设计与手机端的标准不一样,这时候须要研发在pad上从新写款式,给到研发一个在某个设施下的设计稿就作为基准,让研发依据设施宽度进行缩放。
横屏适配
css增加横屏状态下的款式设置
pad + 手机横屏 适配
通过设置不同设施下的宽度来适配。 pad: 7681024 iphoneSE 横屏:568 320 能够认为 >=568就设置具体款式
发表回复