zoukankan      html  css  js  c++  java
  • 移动端-笔记

    meta基础知识

    H5页面窗口自动调整到设备宽度,并禁止用户缩放页面

    1 <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />

    viewport模板——通用

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
    <meta content="yes" name="apple-mobile-web-app-capable">
    <meta content="black" name="apple-mobile-web-app-status-bar-style">
    <meta content="telephone=no" name="format-detection">
    <meta content="email=no" name="format-detection">
    <title>标题</title>
    <link rel="stylesheet" href="index.css">
    </head>

    移动端touch事件
    当用户手指放在移动设备在屏幕上滑动会触发的touch事件

    touchstart——当手指触碰屏幕时候发生。
    touchmove——当手指在屏幕上滑动时连续触发。通常我们再滑屏页面,会调用event的preventDefault()可以阻止默认情况的发生:阻止页面滚动
    touchend——当手指离开屏幕时触发
    touchcancel——系统停止跟踪触摸时候会触发。例如在触摸过程中突然页面alert()一个提示框,此时会触发该事件,这个事件比较少用

    TouchEvent
    touches:屏幕上所有手指的信息
    targetTouches:手指在目标区域的手指信息
    changedTouches:最近一次触发该事件的手指信息
    touchend时,touches与targetTouches信息会被删除,changedTouches保存的最后一次的信息,最好用于计算手指信息

    webkit表单元素的默认外观怎么重置
    .css{-webkit-appearance:none;}


    webkit表单输入框placeholder的颜色值能改变么
    input::-webkit-input-placeholder{color:#AAAAAA;}
    input:focus::-webkit-input-placeholder{color:#EEEEEE;}
    webkit表单输入框placeholder的文字能换行么
    ios可以,android不行~

    ::-ms-expand 适用于表单选择控件下拉箭头的修改,有多个属性值,设置它隐藏 (display:none) 并使用背景图片来修饰可得到我们想要的效果。

    select::-ms-expand {
    display: none;
    }

    audio元素和video元素在ios和andriod中无法自动播放
    应对方案:触屏即播

    $('html').on('touchstart',function(){
    audio.play()
    })

    播放视频不全屏
    <!--
    1.ios7+支持自动播放
    2.支持Airplay的设备(如:音箱、Apple TV)播放
    x-webkit-airplay="true"
    3.播放视频不全屏
    webkit-playsinline="true"
    -->
    <video x-webkit-airplay="true" webkit-playsinline="true" preload="auto" autoplay src="http://"></video>

    点击穿透问题

    什么是点击穿透?

    假如页面上有两个元素A和B。B元素在A元素之上。我们在B元素的touchstart事件上注册了一个回调函数,该回调函数的作用是隐藏B元素。我们发现,当我们点击B元素,B元素被隐藏了,随后,A元素触发了click事件。

    这是因为在移动端浏览器,事件执行的顺序是touchstart > touchend > click。而click事件有300ms的延迟,当touchstart事件把B元素隐藏之后,隔了300ms,浏览器触发了click事件,但是此时B元素不见了,所以该事件被派发到了A元素身上。如果A元素是一个链接,那此时页面就会意外地跳转。

  • 相关阅读:
    ubuntu18.04 安装 jdk
    MySQL集群(PXC)入门
    Synchronized 详解
    Java多线程之内存可见性
    MySQL8.0新特性
    vue配置域名访问
    debain8 安装mysql8
    idea 激活步骤
    spring boot 设置tomcat post参数限制
    人脸识别技术全面总结:从传统方法到深度学习[转载自机器之心]
  • 原文地址:https://www.cnblogs.com/dehua-chen/p/5468012.html
Copyright © 2011-2022 走看看