移动端开发注意之一二

Review自己的原型时发现几个问题,分享之

1、移动端最小触控区域44*44px,再小就容易点击不到或者误点,可参考《iOS Human Interface Guidelines》: https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/LayoutandAppearance.html

那么怎么保证最小的触控区域呢,看看百度无线UE史玉洁11年D2分享过的一张图(手指容易落在目标偏右和偏下的位置)

从而我们可以给文字、图标、按钮等可操作元素扩展触控区域,padding、line-height等都是不错的方式。

想要成为一个优秀的前端,必须充分了解设计师的意图,在真的有问题时其实我们可以找设计师喝杯咖啡啥的,一般设计师都是美女哦,当然我们只是为了更好的用户体验

不过如果设计师给的区域就不够大,我们针对很小的icon可以如此扩展

<!--span上是背景图,通过给span增加padding或者直接在div上设定扩展后的宽高。。。然后将事件绑定在div上-->
<div class="icon"><span>图标</span></div>

<!--利用::before或::after伪元素设置背景图,增加伪元素padding或者直接在div上设定扩展后的宽高。。。然后将事件绑定在div上-->
<div class="icon">::before</div>

推荐利用伪元素,省了一层嵌套,移动端也不担心支持的问题,还有一种方法在特定的情况下(父元素宽度限死)使用比较好transform:scale,参照http://m.ctrip.com/webapp/tour/vacations?from=ctrip_home

红线框出的话筒,现版本已被隐藏掉,需要自己调出来,它就利用了transform:scale,之前的文章我也有讲过transform:scale和zoom的区别http://www.cnblogs.com/web-lexi/p/3968050.html

2、上面说到事件绑定到div上,由此我也想到一个问题,

很多小伙伴喜欢把事件绑定在如上图子元素上,如果熟读过高程的会知道事件委托,利用事件冒泡来绑定事件的性能远优于分别绑定于子元素,这个我就不赘述了,毕竟移动端对性能的要求还是很高的,网络和硬件没有PC那么好呀

在此给大家推荐一篇移动端前端性能优化文章http://isux.tencent.com/h5-performance.html

3、最后给个针对三星盖世3 fixed的bug小tip

在我们给元素position:fixed 设置width:100%时,变成横屏时盖3的宽度还是竖屏的宽度,如何解决

①利用媒体查询在横屏时重新赋一下样式

@media all and (orientation:landscape) {
div{width: 100%;}
}

②在fixed元素里面再套一层设定position:absolute,width依然100%就可以解决

文章有参考我们原公司的点头猪(css女神哦)内部分享的邮件,在此总结出来跟大家分享,有问题欢迎指出和讨论

时间: 2024-08-01 20:21:09

移动端开发注意之一二的相关文章

菜鸟窝React Native 系列教程-1.移动端开发趋势与未来

菜鸟窝React Native 系列教程-1.移动端开发趋势与未来 课程持续更新中..... 我是RichardCao,现任新美大酒店旅游事业群的Android Developer.如果你也有兴趣录制RN视频,请加入下面QQ群找我. 下载地址:https://pan.baidu.com/s/1c1XmE56 密码:shhw 首发地址:菜鸟窝-ReactNative学习板块 交流QQ群:576089067 课程目录:菜鸟窝React Native 系列教程

WIFI物联网平台微信端开发分享

本文由企鹅圈原创成员Hunter_Zhu贡献. 本篇文章是基于近期一个项目微信端开发过程的一个总结.文中主要介绍了云智易平台下微信端开发的流程.该平台提供的主要功能以及此次H5开发使用到的一些UI组件.能够帮助企鹅仔高速对该平台微信开发有个了解. 本文介绍的微信硬件物联网开发思路不局限于某个平台.对市场上全部的平台,如机智云也是适用的,特此说明. 一.创建微信应用,配置微信server 在云智易开发平台中,开发人员须要在应用管理中创建一个微信应用,填写微信公众号的基本信息:APPID, APPS

一起学Google Daydream VR开发,快速入门开发基础教程一:Android端开发环境配置一

原文因涉及翻墙信息,被强制删除,此文为补发! 准备工作 进入Google Daydream开发者官网,开启准备工作,官网地址:https://vr.google.com/daydream/developers/ -------------------------------------------------------------------------------------------------------------------- Google Daydream开发者网址: https

移动端开发的知识系统介绍

移动端开发1. 移动端适配:http://suqing.iteye.com/blog/1982733http://www.douban.com/note/261319445/ http://www.woshipm.com/ucd/150207.html<meta name="screen-orientation" content="portrait"><!-- 强制竖屏 --><meta name="x5-orientatio

移动端开发用touch事件还是click事件

前端开发现在包含了跨浏览器,跨平台(不同操作系统)和跨设备(不同尺寸的设备)开发. 在移动开发的过程中,到底选取touch事件还是click事件?对了,请不要鄙视click,click在移动端开发用着也是不错的. 首先,我先说一下touch事件在开发中存在的两个问题: 1.touch事件在某些场景下存在点击穿透的问题. 2.touchstart事件时触摸屏幕就会触发,touchend事件是手指离开屏幕就会触发,而有时候,我们仅仅是只想滑动屏幕,却会触发这两个事件. 1问题的原因:移动端事件触发的

移动端开发适配总结

移动端开发适配2种方案总结 针对移动端适配的方案~ 一: 第一种方案是:所有的单位使用rem来适配:首先在页面上设置html的font-size的大小:如下我项目中的设置: html { font-size: 100px; } @media(min-width: 320px) { html { font-size: 100px; } } @media(min-width: 360px) { html { font-size: 112.5px; } } @media(min-width: 400p

移动端开发备忘

这是一些移动端开发的备忘记录. <meta> 元素 <meta name=“viewport” content=“width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no”/> width:宽度(数值 / device-width)(范围从200 到10,000,默认为980 像素) height:高度(数值 / device-height)(范围从223 到10,000) initial-s

如何进行SuperMap iServer服务端开发

有时候在进行地图应用开发时,可能单纯的客户端无法满足要求(如功能和性能等因素),这时就需要进行iServer的服务端开发.SuperMap iServer 6R/7c的服务端开发步骤如下: 一.在Eclipse中新建一个Dynamic Web Project 此过程截图略去 二.引用iServer所需的各类jar包 经测试后发现,必须引用iServer/WEB-INF/lib下的所有jar包,否则运行时会出现一些奇怪的错误.这些jar包所在的位置为[iServer安装目录]\webapps\is

优雅地进行移动端开发

对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 1)选取一款手机的屏幕宽高作为基准(比如 iphone6的375×667). 2)对于高清屏幕,为了达到高清效果,视觉稿的画布大小会是基准的2倍(对iphone6而言:原先的375×667,就会变成750×1334). 问题1:对于dpr=2的手机,为什么画布大小×2,就可以解决高清问题? 首先,我们要先了解一下 dpr 是什么? 设备像素比(简称dpr)定义了物理像素和设备独立像素的对应关系,它的值可以按如下的公式的