制作html5移动端页面,移动端H5页面制作规范「建议收藏」

制作html5移动端页面,移动端H5页面制作规范「建议收藏」计量单位的使用css的计量单位有三种选择:px:固定的相素值em:相对父级元素的font-size设置来作为当前元素1em所代表的像素值,如父节点的font-size:10px,当前节点的font-size:1.2em,则当前节点的font-size实为12px;rem:相对根节点html的font-size设置来作为当前元素1rem所代表的像素值,与em的区别就是rem的基本度量单位与父节点…

大家好,又见面了,我是你们的朋友全栈君。

计量单位的使用

css的计量单位有三种选择:px: 固定的相素值

em: 相对父级元素的font-size设置来作为当前元素1em所代表的像素值,如父节点的font-size:10px,当前节点的font-size:1.2em,则当前节点的font-size实为12px;

rem:相对根节点html的font-size设置来作为当前元素1rem所代表的像素值,与em的区别就是rem的基本度量单位与父节点无关,只与根节点font-size的设置有关,如设置html{font-size:10px;}后当前dom所有节点的1rem都表示10px;

移动端开发中我们使用rem作为基本计量单位,同时将根节点默认字号大小设为font-size:62.5%,因移动端浏览器默认字号大小为16px;16*62.5%刚好为10px; 具体设置方法及使用示例html{font-size:62.5%;/*刚好为10px;*/}#example{font-size:1.2rem}/*设置#example的字体大小为12px;*/#example div{font-size:1.4rem; width:10rem;height:10rem}/*设置#example子节点div的字体大小为14px;宽度为100px;高度100px*/安卓下标签的内容字体大小不支持rem设置,如有需要使用响应式及px单位设置其字体大小,暂时还未找到具体原因

不同分辨率的终端

在对主流手机终端进行统计得出,大部分手机的device-width为320px、360px、375px、384px、400px、414px,另外安卓pad的device-width为600px\800px。 手机屏幕分辨率宽度则在320px-1080px间,有少部分手机已经达到1152px和1440px。PS:ipad访问移动端建议跳转去对应的PC页面。

viewport设置

在移动端开发中,我们使用如下viewport设置

注:device-width实际上并不等于设备宽度,而是css宽度,它是根据设备屏幕宽度和屏幕像素密度换算得出的用于网页显示的css宽度

移动端设计稿750px*1134px的制作规范css部分/*reset.less*//* CSS Document */html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;  font-size:62.5%;}ul,li,div,p,body,h1,h2,h3,h4,h5,h6,dl,dt,dd{margin:0;padding:0;}li{list-style:none;}a{text-decoration:none; color: #2a2a2a; }input{ -webkit-appearance:none;outline:none}

*{outline: none; webkit-focus-ring-color: rgba(0, 0, 0, 0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;}.hide{display:none;}body, html {width: 100%; font-family: “Microsoft YaHei”,”Helvetica Neue”,Arial, HelveticaNeue, Helvetica, “BBAlpha Sans”, sans-serif;font-weight: normal;display: -webkit-box;-webkit-box-orient: vertical; -webkit-box-align: center;}/* *{-webkit-backface-visibility: hidden;-moz-backface-visibility: hidden;-ms-backface-visibility: hidden;backface-visibility: hidden;} 用于解决某些情况下出现闪屏的问题,若无则不加*/body{opacity: 1;-webkit-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in; }p,a,li{font-size:1.2rem; color:#434343}html{ font-size: 312.5%; }

@media screen and (max-width:359px) and (orientation:portrait) {    html { font-size: 266.67%; }

}

@media screen and (min-width:360px) and (max-width:374px) and (orientation:portrait) {    html { font-size: 300%; }

}

@media screen and (min-width:384px) and (max-width:399px) and (orientation:portrait) {    html { font-size: 320%; }

}

@media screen and (min-width:400px) and (max-width:413px) and (orientation:portrait) {    html { font-size: 333.33%; }

}

@media screen and (min-width:414px) and (max-width:431px) and (orientation:portrait){    html { font-size: 345%; }

}

@media screen and (min-width:432px) and (max-width:479px) and (orientation:portrait){    html { font-size:360%; }

}

@media screen and (min-width:480px)and (max-width:639px) and (orientation:portrait){   html{ font-size:400%;}

}

@media screen and (min-width:640px) and (orientation:portrait){   html{ font-size:533.33%;}

}

例如750px设计稿上320px*200px字体大小为32px的区域样式为:html{ font-size: 312.5%; }

.div{    width:3.2rem;    height:2rem;    font-size:0.32rem    }js部分

主要处理短屏下缩放,以及初始化时固定页面大小,防止竖屏下弹出键盘或横屏时页面发生缩放的情况var initScreen=function(callback){//初始化html  font-size

$(“html”).css(“font-size”,document.documentElement.clientHeight/document.documentElement.clientWidth<1.5 ? (document.documentElement.clientHeight/603*312.5+”%”) : (document.documentElement.clientWidth/375*312.5+”%”)); //单屏全屏布局时使用,短屏下自动缩放

//$(“html”).css(“font-size”,document.documentElement.clientWidth/375*312.5+”%”);//长页面时使用,不缩放

if(callback)callback();

}function _onorientationchange(e){    if(window.orientation==90||window.orientation==-90){

$(“#forhorview”).css(“display”, “-webkit-box”);  //显示竖屏浏览提示框

}else{//竖屏下恢复默认显示效果

var st=setTimeout(initScreen,300);

$(“#forhorview”).css(“display”, “none”);

}

_resize(e);

}

$(function(){

initScreen();    window.addEventListener(“onorientationchange” in window ? “orientationchange” : “resize”,     function(e){_onorientationchange(e);}, false);

})

html示例html>

标题

推荐使用竖屏浏览哦~

移动端开发细节和优化

在移动端使用新的css3样式代替原来在PC上的开发习惯新的布局实现方式:使用display:box、box-flex代替float\display:inline-block; 实现更强大、更完美的流体布局,尤其在宽度为100%的布局中,实现横向并排元素宽度的自动伸缩以及水平垂直居中平均分布、首尾分布排列等。

垂直居中的实现方式:使用display:-webkit-box;-webkit-box-align: center;实现垂直居中。

尽量使用border-radius,box-shadow,text-shadow等css3样式实现诸如圆角、渐变色、盒子投影、字体投影,减少使用图片。

对于单色的icon图标,我们将会整理出一套常用图标,并制作成字体,利用css3的@font-face使用自定义字体导入,这样的话,可以像修改字体一样随意地修改图标的颜色、大小、背景色、特殊效果(如投影)等,而不再需要每一种颜色就需要切一份图片。

利用-webkit-transform:rotate(90deg)来获取旋转了不同角度的icon,避免每个角度需要切一张图片

在动画中,利用css3动画属性如-webkit-transform:translate(10px,12px)来改变元素的偏移位置,减少使用left和top来做位移动画

作者:只会前端的切图仔

链接:https://www.jianshu.com/p/650819820c86

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151973.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python-opencv读取深度图像

    Python-opencv读取深度图像由于实验需要用到Kinect2.0采集的深度图像,但是用以下程序读取深度图片的时候显不方便观察temp_img=’cup_depth.png’depth_filename=os.path.join(image_dir,depth_img)temp_filename=os.path.join(image_dir,temp_img)im…

    2022年5月24日
    207
  • 【超详细教程】Mac如何用QuickTime录屏soundflower录制屏内外声音(附视频演示教程)

    【超详细教程】Mac如何用QuickTime录屏soundflower录制屏内外声音(附视频演示教程)作者:齐木南子酱链接:http://www.i5seo.com/mac-own-software-recording-screen.html来源:长沙SEO霜天如何用mac自带软件录屏且录制屏内屏外声音?这个问题困扰了很多使用苹果mac笔记本的用户,本教程你能get到的3个技能点1.用macbook自带软件录屏(无屏内屏外声音)2.用macbook自带软件录屏+有屏内声音+…

    2022年6月8日
    47
  • 【SSM进阶之路】使用Spring SqlSessionTemplate API实现查询数据[通俗易懂]

    【SSM进阶之路】使用Spring SqlSessionTemplate API实现查询数据[通俗易懂]该案例的实现是基于jar包org.mybatis.spring中的SqlSessionTemplateAPI进行使用的。主要是完成如何使用SqlSessionTemplate中的API封装一个通用的查询方法。1、首先定义一个业务层数据接口:packagecom.yihg.basic.api;importjava.util.List;importjava.util.Map;

    2022年5月6日
    76
  • cmd: cd /D %~dp0 的含义「建议收藏」

    cmd: cd /D %~dp0 的含义「建议收藏」cd/d%~dp0是什么意思啊?批处理文件中的一条语句意思是 更改当前目录为批处理本身的目录 有些晕吧?不急,我举例 比如你有个批处理a.bat在D:\qq文件夹下 a.bat内容为 cd/d%~dp0在这里cd/d表示直接转换到后面的路径,否则如果切换盘符,就需要再输入盘符才能切换路径cd/d%~dp0的意思就是cd/dd:\qq %0代表批处理本身…

    2022年9月19日
    3
  • python psutil替代_psutil[通俗易懂]

    python psutil替代_psutil[通俗易懂]用Python来编写脚本简化日常的运维工作是Python的一个重要用途。在Linux下,有许多系统命令可以让我们时刻监控系统运行的状态,如ps,top,free等等。要获取这些系统信息,Python可以通过subprocess模块调用并获取结果。但这样做显得很麻烦,尤其是要写很多解析代码。在Python中获取系统信息的另一个好办法是使用psutil这个第三方模块。顾名思义,psutil=pro…

    2022年6月14日
    23
  • 2020Web应用防火墙 (WAF)榜单TOP30

    2020Web应用防火墙 (WAF)榜单TOP30WAF市场的发展缘于客户需要保护内外的Web应用程序。WAF保护Web应用程序和API免受各种攻击,包括自动机器人程序、注入攻击和应用层拒绝服务(DoS)攻击。它们应提供基于特征(signature)的防护,还应支持主动安全模型(自动化允许列表)及/或异常检测。Gartner报告曾指出,在保护企业Web应用最有效的技术中,WAF高居首位(73%),成为可显著降低Web应用漏洞风险、满足安全合规和等级保护要求的重要手段。因此WAF市场仍然充满活力,许多提供商声称迎来两位数的强劲增长。Gartner观察到

    2022年6月2日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号