移动端常见兼容性问题
移动端常见兼容性问题
Lieme1.border-radius百分比失效
plaintext
1 | 解决方法:设置一个较大值比如 border-radius:9999px; |
placeholder属性设置的文字向上偏移的厉害
plaintext
1 | 解决办法:line-height:normal |
如果一个应用了css3 transform的元素里面包含fixed定位的元素,在webkit核心的浏览器下,该fixed定位的元素会失效,其实际定位效果类似绝对定位,会跟着滚动条的滚动而滚动!
plaintext
1 | 避免在应用了css3 transform的元素内部嵌套fixed定位的元素。 |
webkit上的input,button,及select的默认样式可以通过以下代码禁用,然后自定义。
plaintext
1 | -webkit-appearance:none; |
video标签的父元素(祖辈元素)设置transform样式后,标签会脱离文档流
plaintext
1 | 避免使用transform,如果需要设置位移,可使用绝对定位加top/left代替 |
webkit上的input,button,及select的默认样式可以通过以下代码禁用,然后自定义。
plaintext
1 | -webkit-appearance:none; |
body设置100%高度后,在移动浏览器里面可能会被底部的导航栏挡住:
plaintext
1 | document.documentElement.style.height = window.innerHeight + 'px' |
字体设置建议:
plaintext
1 | body { |
移动端边框1像素的问题
plaintext
1 | 解决方法: |
设置全局的CSS样式,避免图中的长按弹出菜单与选中文本的行为
plaintext
1 | a, img { |
安卓浏览器看背景图片,有些设备会模糊
plaintext
1 | 原因:因为devicePixelRatio,手机分辨率太小,如果按照分辨率来显示网页,这样字会非常小,所以苹果当初就把iPhone 4的960*640分辨率,在网页里只显示了480*320,这样devicePixelRatio=2。 |
防止手机中网页放大和缩小
plaintext
1 | <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" /> |
apple-mobile-web-app-capable
plaintext
1 | apple-mobile-web-app-capable是设置Web应用是否以全屏模式运行。 |
format-detection 页面上数字不被识别为电话
plaintext
1 | format-detection 启动或禁用自动识别页面中的电话号码。 |
禁止复制、选中文本
plaintext
1 | user-select:none; |
Retina屏的1px边框
plaintext
1 | border-width:thin; |
某些Android手机圆角失效
plaintext
1 | background-clip: padding-box; |
IOS中input键盘事件keyup、keydown、keypress支持不是很好
plaintext
1 | 通过html5 的 oninput 来代替 |
解决 ios 设置input 按钮样式会被默认样式覆盖
plaintext
1 | border: 0; |
解决 IOS键盘字母输入,默认首字母大写
plaintext
1 | <input type="text" autocapitalize="off"/> |
设置 select 下拉选择设置右对齐
plaintext
1 | direction: rtl; |
解决 通过transform进行skew变形,rotate旋转会造成出现锯齿现象
plaintext
1 | -webkit-transform: rotate(-4deg) skew(10deg) translateZ(0); |
移动端点击300ms延迟
plaintext
1 | 产生原因: |
移动端滚动穿透问题
plaintext
1 | 问题: |
移动端点击穿透问题
plaintext
1 | 问题描述: |
解决 iOS 系统中,中文输入法输入英文时,字母之间可能会出现一个六分之一空格
plaintext
1 | this.value = this.value.replace(/\u2006/g,''); |
移动端 HTML5 audio autoplay 失效问题
plaintext
1 | 问题原因: |
移动端 HTML5 input date 不支持 placeholder 问题
plaintext
1 | <input placeholder="Date" class="textbox-n" type="text" onfocus="(this.type='date')" id="date"> |
移动端呼起键盘引起的问题
plaintext
1 | 1.当某输入框获取焦点时,弹起自定义时间插件,貌似很简单一个功能,但测试时问题来了,获取焦点时键盘也会跟着一起弹出来 |
transform 属性会使 position:fixed 失效
plaintext
1 | 解决办法: 把内容和定位的元素分开; |
rem 单位下做圆 宽高比较小的时候在移动端会变成椭圆形
plaintext
1 | 原因:宽高大小有小数 |
苹果手机在点击时候会自带一个灰亮背景
plaintext
1 | 解决办法: -webkit-tap-highlight-color: transparent; |
afari 浏览器 input submit 在会出现颜色和样式改变的bug
plaintext
1 | 解决办法: input 写上-webkit-appearance: none; |