标签:input img init 最好 tar 旋转 方法 ios false
<meta name="viewport" content="width=device-width">
即把viewport设置成设备的实际像素,那么就不会有这300ms的延迟。
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />
使用rem进行屏幕适配,设置好root元素的font-size大小,然后在开发的时候,所有与像素有关的布局统一换成rem单位。针对不同的手机,使用媒体查询对root元素font-size进行调整
移动端开发时,屏幕有竖屏和横屏模式,当屏幕进行旋转时,字体大小则有可能会发生变化,从而影响页面布局的整体样式,为避免此类情况发生,只需设置如下样式即可
1 * { 2 -webkit-text-size-adjust: none; 3 }
1 * { 2 -webkit-tap-highlight-color: rgba(0,0,0,0); 3 }
不过这个方法在现在的安卓浏览器下,只能去掉那个橙色的背景色,点击产生的高亮边框还是没有去掉,有待解决!
一个CSS3的属性,加上后,所关联的元素的事件监听都会失效,等于让元素变得“看得见,点不着”。IE到11才开始支持,其他浏览器的当前版本基本都支持。详细介绍见这里:https://developer.mozilla.org/zh-CN/docs/Web/CSS/pointer-events
pointer-events: none;
<input type="text" autocapitalize="none">
<meta name="format-detection" content="telephone=no" />
-webkit-touch-callout: none;
-webkit-user-select: none;
CSS3中的calc变量在iOS6浏览器中必须加-webkit-前缀,目前的FF浏览器已经无需-moz-前缀。 Android浏览器目前仍然不支持calc,所以要在之前增加一个保守尺寸:
1 div { 2 width: 95%; 3 width: -webkit-calc(100% - 50px); 4 width: calc(100% - 50px); 5 }
iOS下fixed元素容易定位出错,软键盘弹出时,影响fixed元素定位,android下fixed表现要比iOS更好,软键盘弹出时,不会影响fixed元素定位 。iOS4下不支持position:fixed
解决方案: 可用iScroll插件解决这个问题
针对此种情况只需要对不触发click事件的那些元素添加一行css代码即可
cursor: pointer;
1 /*设置内嵌的元素在 3D 空间如何呈现:保留 3D*/ 2 -webkit-transform-style: preserve-3d; 3 /*(设置进行转换的元素的背面在面对用户时是否可见:隐藏)*/ 4 -webkit-backface-visibility: hidden;
解决方法:
1.尽可能地使用合成属性transform和opacity来设计CSS3动画,不使用position的left和top来定位
2.开启硬件加速
1 -webkit-transform: translate3d(0, 0, 0); 2 -moz-transform: translate3d(0, 0, 0); 3 -ms-transform: translate3d(0, 0, 0); 4 transform: translate3d(0, 0, 0);
解决方法:通过正则去除
this.value = this.value.replace(/\u2006/g, ‘‘);
input 的placeholder会出现文本位置偏上的情况:PC端设置line-height等于height能够对齐,而移动端仍然是偏上,解决方案时是设置css
line-height:normal;
解决方法如下:
1 父元素设置为 overflow: hidden; 2 父元素设置为 display: inline-block; 等
这里两种方法都是通过设置css属性将浮动元素的父元素变成间接变成BFC元素,然后使得子元素高度可以撑开父元素。这里需要注意的时,最好使用方法1, 因为inline-block元素本身会自带一些宽高度撑开其本身。
点击浏览器的回退,有时候不会自动执行js,特别是在mobilesafari中。这与往返缓存(bfcache)有关系。 解决方法 :
window.onunload = function () {};
解决方法:
-webkit-overflow-scrolling: touch;
iOS原始输入法,中文输入时,无法触发keyup事件,且keyup.enter事件无论中英文,都无法触发
解决方法:
业务场景重现: 项目中需要写一个搜索组件,相关代码如下
1 <template> 2 <div class="y-search" :style="styles" :clear="clear"> 3 <form action="#" onsubmit="return false;"> 4 <input type="search" 5 class="y-search-input" 6 ref="search" 7 v-model=‘model‘ 8 :placeholder="placeholder" 9 @input="searchInputFn" 10 @keyup.enter="searchEnterFn" 11 @foucs="searchFocusFn" 12 @blur="searchBlurFn" 13 /> 14 <y-icons class="search-icon" name="search" size="14"></y-icons> 15 </form> 16 <div v-if="showClose" @click="closeFn"> 17 <y-icons class="close-icon" name=‘close‘ size=‘12‘></y-icons> 18 </div> 19 </div> 20 </template>
其中我需要在enter的时候进行对应的搜索操作并实现失焦,解决方法其实很简单,在enter时进行DOM操作即可
1 searchEnterFn (e) { 2 document.getElementsByClassName(‘y-search-input‘)[0].blur() 3 // dosomething yourself 4 }
对了,这里还有一个坑,就是在移动端使用input类型为search的时候,必须使用form标签包裹起来,这样在移动端呼出键盘的enter才会是搜索按钮,否则只是默认的enter按钮。
转载于https://www.cnblogs.com/ljx20180807/p/9729941.html
标签:input img init 最好 tar 旋转 方法 ios false
原文地址:https://www.cnblogs.com/sisxxw/p/12502773.html