移动端开发要考虑最多的就是兼容性的问题,android和ios的兼容,css3新增属性的兼容以及h5新增标签等使用问题。下面是一些小问题以及解决方案,仅供参考。
【1】.关于样式的总结
1.移动端开发页面会左右晃动,这时候我们需要给外层容器加上overflow-x:hidden。
2.遮罩层下面的内容依然会滑动,这时候我们可以把所有相关事件都停掉,或者在该容器外面再套一层div,宽高设为全屏,当遮罩层出现时,让该div:overflow: hidden;关闭遮罩层时overflow:auto;
3.当我们使用弹性盒子布局时,要想头尾固定,首先要注意必须使容器占满视窗高度,其次使用flex系数进行设置,但是要注意中间内容区必须设置overflow:scroll属性,使其可以出现滚动条。
4.input默认样式的问题。关于input很可能会出现andriod和ios的不兼容问题。我们要注意以下几点,可以进行尝试设置:
<1>appearence:none; -webkit-appearence:none;-moz-appearence:none;
<2>FILTER:alpha(opacity:0);
<3>设置输入框背景色为透明:background-color:transparent;
5.关于button/a/input点击之后出现的半透明背景的解决问题,使用-webkit-tap-hightlight-color:rgba(255,0,0,0);
6.关于 在移动端会失效,建议添加空元素,设置宽度进行文字隔开。
7.关于input的坑!input调起手机软键盘进行评论如果采取fixed定位的话,在安卓机上一般是正常的,但是在ios手机上会出现定位不准的问题,比如会被软键盘遮挡住,或 者没有定位到软键盘正上方。该问题我目前的解决方案是:点击input之后弹出一个自定义的评论框,让自定义的评论框相对窗口居中即可。各大网站关于评论框的解决方 案大部分是点击跳页再评论,个人感觉没有第一种好。
【2】.关于行为的总结
1.首先要区分开js和jq的写法,两者之间可以转换。可以通过.get(0)转换。
2.prop()和attr()的区别和使用。首先,对于html元素本身就具有的属性,需要处理时建议使用prop()方法,而对于自定义的Dom属性等要使用attr().需要注意一点:prop()的返回值是true和false;而attr()的返回值是类似“checked”的属性或者undefined;
3.关于阻止a标签的默认属性的几种方法的利与弊整理:href属性需要填充以下值,才能使得hover属性起作用,并且阻止跳转。
#!, ##,###,页面不会滚动了,但还是有其他问题。
javascript:;,javascript:void(0); 会让 IE6 的动态 GIF 停止播放。
事件绑定模式下的 return false, 不过这种方法覆盖面不全。