从baidu-ife Task1-11 初尝移动端开发 -- 萌芽篇_html/css_WEB-ITnose
程序员文章站
2022-05-11 09:34:23
...
下面的内容在近期极有可能是错误的,只是我的一个小记录。如果你想参考的话,也欢迎参考;如果有着严重的错误认识,那你指出来是最好不过了
缘由
- 阿里巴巴面试问到移动端方面严重被虐
- baidu-ife Task 1-11:移动Web页面布局实践
效果图
正文
这是第一次尝试移动端开发,准备也是比较仓促。
相比PC端,移动端的屏幕比较复杂,不过布局也相对来说比较简单。移动端开发应该是可以分为移动端Web App 和 套壳开发。
目前 IFE 任务上只是要求 纯 css 实现简单的布局,我的认知还处在萌芽阶段。
实践
上面给的设计图好像并不是很准确的,为了方便按照设计图开发,首先需要对他进行转化。依照约定俗称的,用 PS 转化成 375px 宽的即可(iPhone6)。
然后为了比较好的响应移动端不同的设备,一般采用rem作为单位。
对 html 标签进行这样的设置
html { /*font-size : 14px;*/ font-size: calc(100vw/26.785); font-family: 'Microsoft YaHei',"Helvetica Neue", Helvetica, STHeiTi, Arial, sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;}
这样后面的 1rem = 14px,针对 PSD , 我们对每个像素除以14 即可转变为 rem,采用 scss 开发可以简化这个过程
@function px2rem($px, $base-font-size: 14px) { @if (unitless($px)) { @warn "Assuming #{$px} to be in pixels, attempting to convert it into pixels for you"; @return px2rem($px + 0px); // That may fail. } @else if (unit($px) == rem) { @return $px; } @return ($px / $base-font-size) * 1rem;}
这样以后使用的时候用 px2rem(40px) 这样的方法即可。
demo
https://github.com/HashCoding/task1-11
参考资料
移动前端开发和 Web 前端开发的区别是什么
使用Flexible实现手淘H5页面的终端适配