继续更新移动端的一个布局,这也是经典中的经典,当初只知道个rem和vwvh适配,其实这里面还有很多的门道不只是一个适配这么简单

一.前置

1.背景缩放

我们都知道做移动端,给的图都是二倍图,你拿来用直接缩减一半,这样在手机上显示出来也会很清晰

那么我们背景图片怎么来进行缩放呢

推荐一个多倍图切图神奇 cutterman

background-size除了cover contain还可以输入px和百分比

原尺寸100px

二.移动开发

1.主流方案

  • 单独制作页面

2.移动端解决方案

注意初始化的css文件可以直接下载normalize.css

特殊样式

3.布局方案

1.流式布局

也就是百分比布局,宽度百分比,高度固定

但是有个bug,就是这个布局如果屏幕缩减到一定宽度,可能会导致布局错乱

所以一般会搭配max-width或者min-width来使用

整个盒子小于等于992,大于等于768是正常自适应范围,超过这两个区间不再自适应就停到那个状态

项目:(京东)

  • 由于下面的布局都是占满屏幕所以可以直接给body设置wid100% 但是限制一个范围,320是现在手机最小分辨率,max-width1000,参考京东手机端官网

  • 这个部分用到了三栏布局因为中间是自适应的

    通过定位来做

  • 注意二倍精灵图并不能想这样做

    因为这样后面的background-size是基于整张背景图的来

精灵图的二倍图应该把我们取到的坐标除以2,同时size应该为精灵图除以2的宽高

2.flex布局

  • 这样一个导航解决思路 双重flex

  • 如果要换背景图,或者就是统一写一个样式,后面有一些自己的单独样式可以这样来写

    这个点方便在只用写一个类名,而且类名都是不同的

    重点在选择器,用到属性选择器,而且类似于正则,表示以什么开头的属性

这是一个公共属性然后自己有自己的背景就可以单独去添加

3.rem+less+媒体查询适配

前面流式布局和flex布局不能让文字大小随着屏幕变化而变化,而且高度都是固定不能自适应

首先是媒体查询方案,就是通过媒体查询去设置不同宽度的fontsize大小

  • 方案一:

    rem是可以自适应的所以做一套即可,剩下的屏幕会自己去适应

    首先我们需要写一个公共样式里面装我们对于各个屏幕设置的媒体查询

    该模式下区别于flex和百分比,可以直接将宽度设置为rem

    该布局方案只是涉及单位用到这些,但是布局还是要用到flex或者float

4.rem+flexible

现在就只需要按照设计稿做一份,剩下的屏幕适配媒体查询就不用写了

vscode插件cssrem,可以自动将px转化为rem,直接写px值即可

但是他默认的html字体大小为16px

要修改的话打开vscode设置,命令面板搜索settings.json

打开默认设置

搜索cssroot将其修改为你设计稿的html字体大小

做移动端,如果电脑查看用flexible去做适配会有问题,会超大,这个时候要限制它的大小要配合媒体查询来做

注意important

5.响应式布局(媒体查询)

6.响应式布局(bootstrap)

4.总结

先考虑是单独给移动端一个网址还是响应式一个网址既可以移动端又可以pc端

然后选择布局方式

完全可以选择一种,然后其他也可以用的混合开发

移动web布局方法的更多相关文章

  1. 响应式web布局设计实战总结教程

    响应性web设计的理念是:页面的设计与开发应当根据用户行为与设备环境(包括系统平台,屏幕尺寸,屏幕定向等)进行相应的响应及调整.具体的实践方式由多方面组成,包括弹性网格和布局,图片,css Media ...

  2. flex 布局 初次接触这个好使又不是特别好用的布局方法

    刚开始学前端的童鞋们应该也是一样先学习的table然后再学习了盒子模型,感觉终于学会了简单的网页布局,使用各种display,float,position绞尽脑汁给页面布局成自己想要的页面样式,然而, ...

  3. (转) Tomcat部署Web应用方法总结

    原文:http://blog.csdn.net/yangxueyong/article/details/6130065 Tomcat部署Web应用方法总结 分类: Java web2011-01-11 ...

  4. Tomcat部署Web应用方法总结

    转载:http://m.blog.csdn.net/blog/u012516903/15741727 Tomcat部署Web应用方法总结 在Tomcat中部署Java Web应用程序有两种方式:静态部 ...

  5. Tomcat学习(一)------部署Web应用方法总结

    Tomcat部署Web应用方法总结 在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署. 在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署 静态部署 ...

  6. QMdiArea及QMdiSubWindow实现父子窗口及布局方法

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QMdiArea及QMdiSubWindow实现父子窗口及布局方法     本文地址:http ...

  7. android实例讲解----Tomcat部署Web应用方法总结

      参考文档:http://blog.csdn.net/yangxueyong/article/details/6130065  Tomcat部署Web应用方法总结             一.架构介 ...

  8. idea新建maven项目后生成web.xml方法和添加到tomcat方法

    idea新建maven项目后生成web.xml方法和添加到tomcat方法 参考:https://www.cnblogs.com/Liang-Haishan216/p/9302141.html 1.首 ...

  9. 结合CSS3的布局新特征谈谈常见布局方法

    写在前面最近看到<图解CSS3>的布局部分,结合自己以前阅读过的一些布局方面的知识,这里进行一次基于CSS2.3的各种布局的方法总结. 常见的页面布局 在拿到设计稿时,作为一个前端人员,我 ...

  10. 移动Web布局

    移动Web开发之移动页面布局 前言 本文针对手机设备设计的页面,并非兼容全设备的响应式布局,常见的MobileWeb页面如H5页面.手机页面.WAP页.webview页面等等.在不同尺寸的手机设备上, ...

随机推荐

  1. Linux中的touch命令

    Linux中一个文件有3种时间属性,分别是mtime,ctime,atime: modification time (mtime) 当该文件的『内容数据』变更时,就会升级这个时间!内容数据指的是文件的 ...

  2. 从零开始写 Docker(十四)---重构:实现容器间 rootfs 隔离

    本文为从零开始写 Docker 系列第十四篇,实现容器间的 rootfs 隔离,使得多个容器间互不影响. 完整代码见:https://github.com/lixd/mydocker 欢迎 Star ...

  3. createRange表示文档中的一个范围——用于js判断文字添加省略号情况

    document.createRange() 是 JavaScript 中的一个方法,用于创建一个 Range 对象,表示文档中的一个范围.Range 对象通常用于选择文档中的一部分内容,然后对其进行 ...

  4. Splashtop 免费60天 大赠送

    这两天又是双11,又是 EDG 夺冠,可谓喜事连连.热闹不断.我们也给大家准备了一份长达两个月的免费福利,快乐加倍嗷. 福利详情: 1.分享这篇文章(不要设置分组可见). 2.发送您的 Splasht ...

  5. 读写可编程 SIM/USIM 卡

    目录 文章目录 目录 SIM 卡 USIM 卡 USIM 卡的关键参数 pySim 读写软件与 ADM key SIM 卡 SIM 卡,用户身份模块(Subscriber Identity Modul ...

  6. java学习之旅(day.12)

    异常机制(Exception) 异常指程序运行中出现的不期而至的各种状况 异常分类: 检查性异常:用户输入错误引起的异常 运行时异常:写的时候未报错,但一运行就会报错, 错误(error):错误不是异 ...

  7. vulnhub靶场 --> Red: 1

    靶机下载地址 Red: 1 << 点我 开始打靶 IP发现 nmap扫描网段发现靶机ip:192.168.111.142 端口发现 对靶机进行常规端口扫描 访问网站 到处点击发现存在一个可 ...

  8. SwiftUI(一)- VStack、HStack、ZStack布局

    SwiftUI是什么 懒得写,直接找了一篇博客: 初识 SwiftUI 三种布局 SwiftUI包括三种布局: VStack: 纵向布局,默认居中对齐 HStack: 横向布局,默认居中对齐 ZSta ...

  9. c# HttpWebRequest 解决 请求HTTPS慢

    其实就几行代码 if (strUrl.StartsWith("https", StringComparison.OrdinalIgnoreCase)) { request.Cred ...

  10. 初入JavaScript

    js是轻量级 弱类型 脚本语言 html是 超文本 标记语言 脚本语言和标记语言的主要区别 标记语言,可以通过浏览器直接执行 脚本语言,必须要通过编译,浏览器内核的编译,才能正常运行 简单理解,脚本语 ...