- div:active伪类无效问题
普通div在移动端:active伪类不会生效,应该是只有a,button此类才会生效,pc端正常
解决办法:在body添加touchstart事件监听
<script>
document.body.addEventListener('touchstart', function () {})
</script>
2、ios浏览器input、textarea去除默认样式
input, textarea {
-webkit-appearance: none;
}
3、ios浏览器textare的border-radius默认为圆角,自行设置去除
4、弹窗后,滑动弹窗,底部页面在滚动,可在弹窗上的mask元素上添加@touchmove.prevent,
<div class="dialog" v-if="isShow">
<div class="dialog-mask" @touchmove.prevent></div>
<div class="dialog-body">
</div>
</div>
5、input type=date,placeholder不显示问题。解决方案:css + js
// css: 设置伪类显示
input[type="date"]:before{
content: attr(placeholder);
width: 100%;
text-align: center;
color:#bebebe;
}
// js控制placeholder显示
<input
type="date"
placeholder="开始日期"
v-model="startTime"
class="search-date startTime ant-calendar-picker-input ant-input"
@blur="onBlur"
@focus="onFocus">
onBlur (e) {
if (e.target.value === '') {
e.target.setAttribute('placeholder', e.target.className.includes('startTime') ? '开始日期' : '结束日期')
}
},
onFocus (e) {
e.target.removeAttribute('placeholder')
},
6、手机端点击div 出现框框
div {
-webkit-tap-highlight-color:rgba(0,0,0,0);
}