移动端兼容宝典大全,专治各种不适(代码片段)

autofelix autofelix     2023-01-01     322

关键词:

〝 古人学问遗无力,少壮功夫老始成 〞

移动端兼容宝典大全,专治各种不适,你是否也曾为浏览器各种的不兼容而苦恼,尤其是IE这个牛皮癣,这篇文章可能会给你帮助哦,常码字不易,出精品更难,没有特别幸运,那么请先特别努力,别因为懒惰而失败,还矫情地将原因归于自己倒霉。你必须特别努力,才能显得毫不费力。如果这篇文章能给你带来一点帮助,希望给飞兔小哥哥一键三连,表示支持,谢谢各位小伙伴们。

目录

一、禁止复制、选中文本

二、解决在IOS下页面滑动卡顿

三、禁止图片点击放大

四、解决input标签type为number时,pc端出现上下箭头

五、清除IOS下input标签默认样式(圆角、阴影)

六、取消IOS下默认英文首字母的默认大写

七、解决IOS下日期格式兼容

八、字体随屏幕大小自适应

九、meta的兼容综合

十、移除所有浏览器的margin

十一、统一所有浏览器的行高

十二、IOS方向改变时字体的自适应


一、禁止复制、选中文本

body 
    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    user-select: none;

二、解决在IOS下页面滑动卡顿

body 
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;

三、禁止图片点击放大

img 
    pointer-events: none;

四、解决input标签type为number时,pc端出现上下箭头

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button 
    -webkit-appearance: none !important;
    margin: 0;

五、清除IOS下input标签默认样式(圆角、阴影)

input 
        -webkit-appearance: none;
        border-radius: 0;
        border: 1px #ccc solid;
    

六、取消IOS下默认英文首字母的默认大写

<input autocapitalize="off" autocorrect="off" /> 

七、解决IOS下日期格式兼容

var value = '2021-03-17 22:30'; //ios不支持这种格式,只支持2021/03/17 22:30
value = value.replace(/\\-/g, "/");

八、字体随屏幕大小自适应

(function (doc, win) 
            var docEl = doc.documentElement,
                resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
                recalc = function () 
                    var clientWidth = docEl.clientWidth;
                    if (!clientWidth) return;
                    if (clientWidth >= 750) 
                        docEl.style.fontSize = '100px';
                     else 
                        docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';
                    
                ;
            if (!doc.addEventListener) return;
            win.addEventListener(resizeEvt, recalc, false);
            doc.addEventListener('DOMContentLoaded', recalc, false);
        )(document, window);

九、meta的兼容综合

    <!--for baidu 识别移动端页面并禁止百度转码-->
    <meta name="applicable-device" content="mobile">
    <meta http-equiv="Cache-Control" content="no-transform">
    <meta http-equiv="Cache-Control" content="no-siteapp">
    <!--viewport 设置,如果页面实际情况不允许缩放请加上,user-scalable=no-->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no,minimal-ui,viewport-fit=cover">
    <meta name="format-detection" content="telephone=no, email=no">
    <meta http-equiv="x-rim-auto-match" content="none">
    <meta name="format-detection" content="address=no">
    <!-- 删除默认的苹果工具栏和菜单栏 -->
    <!-- <meta name="apple-touch-fullscreen" content="yes" /> -->
    <meta name="apple-mobile-web-app-capable" content="yes">
    <!-- 避免IE使用兼容模式 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <!-- 启用360浏览器的极速模式(webkit) -->
    <meta name="renderer" content="webkit">
    <!-- 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 -->
    <meta name="HandheldFriendly" content="true">
    <!-- 微软的老式浏览器 -->
    <meta name="MobileOptimized" content="320">
    <!-- UC强制全屏 -->
    <meta name="full-screen" content="yes">
    <!-- QQ强制全屏 -->
    <meta name="x5-fullscreen" content="true">
    <!-- UC应用模式 -->
    <meta name="browsermode" content="application">
    <!-- QQ应用模式 -->
    <meta name="x5-page-mode" content="app">
    <!-- windows phone 点击无高光 -->
    <meta name="msapplication-tap-highlight" content="no">

十、移除所有浏览器的margin

html, body, iframe, canvas, form, blockquote, fieldset, code, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, table, thead, tbody, td, tr section, menu, nav, header, footer, aside, article, figure, figcaption, hgroup, legend, summary, details, command, progress, dialog 
    margin: 0;
    padding: 0;

十一、统一所有浏览器的行高

html 
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;

十二、IOS方向改变时字体的自适应

html 
    -ms-touch-action: manipulation;
    touch-action: manipulation;

 

android专治activity各种疑难杂症(代码片段)

本篇文章主要是记录Activity各种疑难杂症,在平时使用过程中遇到的坑点,以及Activity使用难点,欢迎各位拍砖。1.setResult和finish的顺序关系当ActivtyA通过startActivityForResult启动ActivityB的时候,从ActivityB页面返回并设... 查看详情

移动端兼容处理(代码片段)

首先上一段判断android和ios的js代码functionnavigator()varu=navigator.userAgent;varisAndroid=u.indexOf(‘Android‘)>-1||u.indexOf(‘Adr‘)>-1;//android终端varisiOS=!!u.match(/\(i[^;]+;(U;)?CPU.+MacOSX/);//ios终端if 查看详情

移动端bug兼容(代码片段)

总结一下目前的移动端开发遇到的问题。1、IOS与安卓input默认样式去除。移动端总有一个默认的圆角或别的。input[type=button],input[type=text],input[type=password]-webkit-appearance:none;outline:none;border-radius:none;2、IOS后退无刷新使用onpageshow主动... 查看详情

移动端兼容问题(代码片段)

1.华为手机自带浏览器  不支持  text-decoration:underline;解决方案:varua=navigator.userAgent.toLowerCase();if(ua.match(/huawei/==‘huawei‘))$(‘.info-linka‘).css(‘border-bottom‘,‘1pxsolid‘); &n 查看详情

pc端移动端兼容的大图轮播(代码片段)

body,htmlwidth:100%;*margin:0;padding:0;list-style:none;.hahalist-style-type:none;.navwidth:100%;height:300px;overflow:hidden;position:relative;.warpheight:300px;position:absolute;.warp.haha 查看详情

移动端300ms兼容问题(移动端经典问题)(代码片段)

移动端300ms延迟原因2007年初。苹果公司在发布首款iPhone前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的。于是苹果的工程师们做了一些约定,应对iPhone这种小屏幕浏览桌面端站点的问题。双击缩放(doubletaptozoom),这... 查看详情

h5移动端实现图片文件上传(代码片段)

PC端上传文件多半用插件,引入flash都没关系,但是移动端要是还用各种冗余的插件估计得被喷死,项目里面需要做图片上传的功能,既然H5已经有相关的接口且兼容性良好,当然优先考虑用H5来实现。 JS代码:<scripttype="text... 查看详情

如何兼容移动端(安卓和ios)情况2-移动端开发注意事项(代码片段)

一、meta标签使用1、meta的使用<metaname="viewport"content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>强制让文档的宽度与设 查看详情

移动端兼容小计(代码片段)

1、页面布局:由于手机型号多样导致页面高宽比非常多,在制作上会有出现不同手机在同一套css下面显示效果不尽如人意,所以需要进行兼容性处理。方式很多比如直接套用类似bootstrap类的框架,可以使用rem等相对单位。这里... 查看详情

移动端css样式兼容(代码片段)

1、1px边框问题问题:不同的浏览器对于border:1px像素显示的大小不一样解决方案:可以利用元素的伪类,来设置1px边框.parentposition:relative;height:100px;width:100px;background:yellow;.parent:aftercontent:'';position: 查看详情

移动端css样式兼容(代码片段)

1、1px边框问题问题:不同的浏览器对于border:1px像素显示的大小不一样解决方案:可以利用元素的伪类,来设置1px边框.parentposition:relative;height:100px;width:100px;background:yellow;.parent:aftercontent:'';positi 查看详情

如何兼容移动端(安卓和ios)情况1(代码片段)

一怎么判断是安卓还是ios//获取浏览器的userAgent,并转化为小写varua=navigator.userAgent.toLowerCase();//判断是否是苹果手机,是则是truevarisIos=(ua.indexOf('iphone')!=-1)||(ua.indexOf('ipad')!=-1);if( 查看详情

一个vue项目同时兼容pc和移动端(代码片段)

项目场景:vue开发的项目,既有移动端又有pc端,但是移动端和pc端展示的内容不一样,同一个组件样式也不一样,移动端展示内容比pc端少,那这个时候在一个项目种怎么做的?解决方式:路由写... 查看详情

适配移动端大全

/*兼容iphone5*/@media(device-height:568px)and(-webkit-min-device-pixel-ratio:2)@mediaonlyscreenand(max-device-width:480px)@mediaonlyscreenand(min-device-width:481px)/*6*/@media(min-device-width:37 查看详情

移动端开发兼容性处理整理(代码片段)

【UC浏览器】video标签脱离文档流场景:<video>标签的父元素(祖辈元素)设置transform样式后,<video>标签会脱离文档流。测试环境:UC浏览器8.7/8.6+Android2.3/4.0。Demo:http://t.cn/zj3xiyu解决方案:不使用transform属性。translate用top... 查看详情

移动端页面利用好viewport,适配各种宽度屏幕(代码片段)

最近研究微贷网的移动端代码,发现他们网站在适配不同宽度屏幕的显示情况时,发现他们并不是利用rem单位,而是利用js动态设置mete的viewport来达到适配的效果。感觉挺不错的,也不需要计算什么东西,单位继续用px.代码分享... 查看详情

android专治activity各种疑难杂症(代码片段)

本篇文章主要是记录Activity各种疑难杂症,在平时使用过程中遇到的坑点,以及Activity使用难点,欢迎各位拍砖。1.setResult和finish的顺序关系当ActivtyA通过startActivityForResult启动ActivityB的时候,从ActivityB页面返回并设... 查看详情

移动端h5截图与原生iosandroid的兼容交互(代码片段)

 项目场景:h5移动端项目需要生成截图与原生app进行图片分享的交互问题描述:使用html2canvas 生成h5截图在androidapp截图位置偏移且偏移量随机 android截图ios截图解决方案:在IOS使用html2canvas,Android使用domtoimage1.ht... 查看详情