移动端网页设计初探

小郝不负流年
小郝不负流年   + 关注
2020-11-09 22:04:54   阅读381   评论0

现在人人不离手机,移动端流量远超PC端。所以好的移动端网页设计是重中之重。

关于PC端、移动端网站的自动适配,请移步我的另一篇文章:《nginx配置适配移动端和PC端访问网站


下面是我在开发移动端网站之前做的一些学习笔记。

1、分辨率

参考:https://www.cnblogs.com/mtl-key/p/7126819.html

1)使用viewport:这已经是移动端网页的必备了,它可以设定页面的宽度,是否允许缩放等等

meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"

  • 一般设置width=device-width,就是设置为设备的屏幕宽度,当然也可以是具体数值

  • 2)百分比与max(min)-width使用:移动端网页不仅分辨率不一,而且随时可以横竖屏切换,所以百分比宽度设定非常必要,再配合max(min)-width限制最大(小)宽度,能有效的适应各种分辨率,若为此还有特别需求,可看下一条,"使用Media Queries"

  • 使用Media Queries,这也是响应式web设计的一部分

  • link rel="stylesheet" type="text/css" href="style1.css" media="screen and (min-width: 640px)"

    这里的意思就是在大于640px的屏幕宽度下,使用style1样式,也可以写在样式内部,如:

    @media screen and (min-width: 640px){        .d1{background:#ccc;}        }


2、内容与缓存

  • 1)使用manifest缓存

    浏览器将缓存chache内所有的内容,并且可以离线访问,只要文件发生任何改变都将会重新读取并刷新全部缓存,所以更改注释是个更新缓存的好方法

    这里要注意的是
    1,添加了manifest的当前网页也会被缓存 所以推荐的方式是页面缓存,页面动态内容全部用ajax获取,所以在移动网站项目设计开始就要注意这个问题
    2,页面中添加iframe 然后子页面引用manifest想达到缓存资源而不缓存当前页面内容,是无效的。

2)尽可能使用css样式来代替图片,由于移动端浏览器对css3的支持,使得以前很多图片可以用样式来代替 

  • 按钮用到了  渐变+圆角+内阴影
    .btn_red {
    display: block;
    line-height: 28px;
    padding: 1px 0;
    border: 1px solid #B81414;
    border-radius: 2px;
    background: #FF5A5A;
    background: -webkit-gradient(linear, 0 0, 0 70%, from(#FF5A5A), to(#FF4444));
    overflow: hidden;
    margin-top: 3px;
    color: #fff;
    box-shadow: 0px 1px 1px #FFB5B5 inset;
    }
    三角形 就是用border的颜色,改变颜色可以画出指向不同方向的三角形
    .tip_t{
    border-color: transparent transparent #bb0808 transparent;
    border-style: solid;
    border-width: 10px;
    width: 0px;
    height: 0px;
    }
    箭头是两个三角形叠在一起
    ……
    用样式代替图片之后不仅大小减少了很多,可维护性更大大提高
  • 3)页面只展示部分内容,多提示用户"点击展开"或者"查看更多",再异步获取内容,大家都不希望打开一个网站,流量就哗哗没了


3、布局

手机端可视区域小,布局上不同于传统网页,需要充分利用有限的空间去展示信息。

  • 1)页面流程简单清晰,复杂的操作尽量分段展示
  • 2)隐藏不常用的功能,可以将其放在侧边栏或弹出层
  • 3)由于移动端是直接用手指操作,而非鼠标。所以,需要响应元素点击区域要相对明显,大
  • 屏幕宽度虽小,但是上下滑动体验好,因此布局上可以多上下排列

4、适配布局、rem布局、文字适配等

https://www.cnblogs.com/mtl-key/p/7126937.html

https://www.cnblogs.com/mtl-key/p/7126839.html 


5、其他

  • 1)html5中input有好几种新类型,比如input type="tel" ,移动端上点击会默认弹出数字键盘。

2)使用scss

3)  百分比+rem布局 

4) 页面板块可横向滑动 

https://www.cnblogs.com/mtl-key/p/7126896.html

5)其他补充

https://www.cnblogs.com/mtl-key/p/7126809.html

6)移动端兼容性问题解决方案

https://www.cnblogs.com/mtl-key/p/7126776.html


对我有用,我要     转载  
文章分类: Web前端  
所属标签: 移动端  
  • 0条评论
  • 只看作者
  • 按时间|按热度
  • 由于本人多次涉及需要打印这个证明,而每次都会忘记入口,在网上各种搜索各种摸索很是浪费时间。故本次将操作流程整理记录下来,以备忘。同时也分享给大家。1、打开湖北政务服务网,地址:http://zwfw.hubei.gov.cn/s/index.html2、切换区域到“武汉市”3、在“特色服务”模块找到“(个人)武汉市社会保险公共服务平台”4、进入“(个人)武汉市社会保险公共服务平台”,登录账号密码<imgsrc="https://cdnstatic.hoscen.cn/blog/article/184053017752895488/img/497065960be44747825acb86a17483c1.png"style=
  • java中的注解@Generated用来标注源代码中的某些东西是由某些工具生成的,而不是人写的。这个注解可以用于:包、类、注解类、方法、构造方法、变量、本地变量、方法参数。
  • 如何使用postman模拟http发送xml参数报文的POST请求?1、postman工具通过安装软件或使用谷歌插件都可以,这里不再赘述。2、配置postman,选择POST,填写URL;切换到Headers,添加Content-Type:text/xml 3、切换到body,选择raw,XML,下方填写你的请求报文4、点击Send发送请求,如图可以看到响应状态、时间、结果等信息5、讲到这里就结束了,是不是学会了?快去试试吧!
  • 解决办法:是idea的加载有问题,关闭IDEA,在工程的根目录下删除.idea文件,重新打开IDEA加载就好了。
  • Failedtoloadprojectconfiguration:cannotparsefileF:/xx/.idea/modules.xml:ParseErrorat[row,col]:[1,1]Message:文件提前结束。解决办法:关闭idea,删掉这个文件,重新打开idea
  • 建立服务器内网其他IP端口的隧道,可以将远程的服务映射到本地进行访问。finalshell配置隧道方法:
  • 上传图片微服务网关报错:UT000054:Themaximumsize1048576foranindividualfileinamultipartrequestwasexceeded原因:所用容器对文件的限制一般项目用的是spring 对spring参数进行配置即可spring:servlet:multipart:#MultipartPropertiesmax-request-size:10MB#总文件大小max-file-size:10MB#单个文件大小注意如果是nginx代理配置限制,报错信息里面会标记nginx。届时需要设置nginx在server_name下加上client_max_body_size20m;
  • 目录:1、安装node.js环境2、安装cnpm3、安装vue-cli脚手架构建工具4、用vue-cli构建项目5、安装项目所需的依赖6、项目运行7、项目打包1、安装node.js环境下载地址:https://nodejs.org/zh-cn/安装过程没有太多好说的,安装完成后 win+R打开命令行输入node -v , 如图,出现版本号说明安装成功。npm包管理器是集成在node中的 , npm -v可以查看版本2、安装cnpm由于有些npm有些资源被屏蔽或者是国外资源的原因,经常会导致用npm安装依赖包的时
  • 控制台信息:Unabletostartthedaemonprocess.Thisproblemmightbecausedbyincorrectconfigurationofthedaemon.Forexample,anunrecognizedjvmoptionisused.PleaserefertotheUserManualchapteronthedaemonathttps://docs.gradle.org/6.3/userguide/gradle_daemon.htmlProcesscommandline:E:\DevelopTools\Java\OpenJDK8U-jdk_x86-32_windows_hotspot_8u282b08\jdk8u282-b08\bin\java.exe-XX:MaxHeapSize=1024m-Xms1024m-Xmx2048m-Dfile.encoding=UTF-8-Duser.country=CN-Duser.language=zh-Duser.variant-cpE:\DevelopTools\gradle-6.8.2-all\gradle_resp\wrapper\dists\gradle-6.3-bin\8tpu6egwsccjzp10c1jckl0rx\gradle-6.3\lib\gradle-launcher-6.3.jarorg.gradle.launcher.daemon.bootstrap.GradleDaemon6.3Pleasereadthefollowingprocessoutputtofindoutmore:-----------------------ErroroccurredduringinitializationofVMCouldnotreserveenoughspacefor2097152KBobjectheapPickedupJAVA_
  • 问题maven同一个版本号部署远程仓库,出现报错:Returncodeis: 400,ReasonPhrase:Repositorydoesnotallowupdatingassets:maven-releases. 解决maven在部署(deploy)时候抛的异常,存储库不允许更新资产,这个就是和私有maven库更新策略有关。具体设置步骤:1.访问私有库管理界面http://xxx.xxx.xxx.xxx:80812.登录管理员账号(默认:admin/admin123)3.进入设置界面->repository->repositories->maven-releases(自己需要部署的目标库)->setting->Deploymentpollcy(Allowredeploy)允许更新