HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

【实例,安卓/苹果】打开唤起淘宝、京东、天猫、拼多多的方法

支持安卓和苹果,参数时传入对象类型,如: openTM({url:''})
苹果6s plus ios12
安卓10,测试均没问题

function openTB(data){//已经支持安卓和ios  
        plus.runtime.openURL('taobao://' +data.url.replace("https://",""),function(error){  
            alert(JSON.stringify(error))  
        },'com.taobao.taobao');  
    }  
    function openTM(data){//已经支持安卓和ios  
        plus.runtime.openURL('tmall://page.tm/appLink?h5Url='+encodeURIComponent(data.url),function(error){  
            alert(JSON.stringify(error))  
        },'com.tmall.wireless');  
    }  
    function openJD(data){//已经支持安卓和ios  
        plus.runtime.openURL('openApp.jdMobile://virtual?params=' + encodeURIComponent('{"des":"m","url":"' +data.url+ '","category":"jump"}'),function(error){  
            alert(JSON.stringify(error))  
        },'com.jingdong.app.mall');  
    }  
    function openPDD(data){//已经支持安卓和ios  
        if(isAndroid){  
            plus.runtime.openURL("pinduoduo://"+data.url.replace("https://",""),function(res){  
                alert(JSON.stringify(res));  
            },'com.xunmeng.pinduoduo');  
        }else{  
            plus.runtime.launchApplication({action:"pinduoduo://com.xunmeng.pinduoduo/"+data.url.replace(/https:\/\/.*\//,"")},function(ret){  
                alert(JSON.stringify(ret));  
            });  
        }  
    }
继续阅读 »

支持安卓和苹果,参数时传入对象类型,如: openTM({url:''})
苹果6s plus ios12
安卓10,测试均没问题

function openTB(data){//已经支持安卓和ios  
        plus.runtime.openURL('taobao://' +data.url.replace("https://",""),function(error){  
            alert(JSON.stringify(error))  
        },'com.taobao.taobao');  
    }  
    function openTM(data){//已经支持安卓和ios  
        plus.runtime.openURL('tmall://page.tm/appLink?h5Url='+encodeURIComponent(data.url),function(error){  
            alert(JSON.stringify(error))  
        },'com.tmall.wireless');  
    }  
    function openJD(data){//已经支持安卓和ios  
        plus.runtime.openURL('openApp.jdMobile://virtual?params=' + encodeURIComponent('{"des":"m","url":"' +data.url+ '","category":"jump"}'),function(error){  
            alert(JSON.stringify(error))  
        },'com.jingdong.app.mall');  
    }  
    function openPDD(data){//已经支持安卓和ios  
        if(isAndroid){  
            plus.runtime.openURL("pinduoduo://"+data.url.replace("https://",""),function(res){  
                alert(JSON.stringify(res));  
            },'com.xunmeng.pinduoduo');  
        }else{  
            plus.runtime.launchApplication({action:"pinduoduo://com.xunmeng.pinduoduo/"+data.url.replace(/https:\/\/.*\//,"")},function(ret){  
                alert(JSON.stringify(ret));  
            });  
        }  
    }
收起阅读 »

【建议】建议HBuilderX左侧项目管理能增加项目分类文件夹功能。

用户建议

【建议】建议HBuilderX左侧项目管理能增加项目分类文件夹功能,不然项目太多看着乱,有测试的,有正式的。

【建议】建议HBuilderX左侧项目管理能增加项目分类文件夹功能,不然项目太多看着乱,有测试的,有正式的。

支付宝小程序获取用户信息

支付宝小程序

<button type="primary" open-type="getAuthorize" scope="userInfo" class="grace-button my-border-radius" @getAuthorize="alyuserinfodata" @error="onAuthError" >
支付宝一键登录
</button>

因为事件大小写问题导致不回调请注意
onGetAuthorize="alyuserinfodata" onError="onAuthError" 改为

@getAuthorize="alyuserinfodata" @error="onAuthError"

继续阅读 »

<button type="primary" open-type="getAuthorize" scope="userInfo" class="grace-button my-border-radius" @getAuthorize="alyuserinfodata" @error="onAuthError" >
支付宝一键登录
</button>

因为事件大小写问题导致不回调请注意
onGetAuthorize="alyuserinfodata" onError="onAuthError" 改为

@getAuthorize="alyuserinfodata" @error="onAuthError"

收起阅读 »

关于HBuilderX 调试app,真机运行后,不能打开webview调试器 参考解决方案

Webview HBuilderX

任意浏览器打开网址栏输入chrome://inspect 点击inspect fallback即可

继续阅读 »

任意浏览器打开网址栏输入chrome://inspect 点击inspect fallback即可

收起阅读 »

山东标梵互动 CSS高级知识培养

css

其实CSS远比我们想象的复杂,有可能CSS的任何一点都可以拿出来写一篇很大篇幅的文章,这一点经常可以看到。所以CSS并不局限于他的名字,级联样式表,更像是一个世界,一个网页不可缺少的重要组成部分。
围绕着上面的CSS系统,当然上图可能不够全面,但也可以说明CSS的主要组成部分。先简单说一下一些未知的隐藏属性,先留下一个大概的印象,扩展一下我们的CSS学习体系,然后再慢慢深入。
本文也是作者结合《CSS世界》《CSS权威指南》《CSS秘密》第一、二卷对一些自己平时忽略或者根本不知道的地方的总结,来源于在浏览器中轻敲代码的实践。
本文也是前端知识体系建设的一部分。详见github:https://github.com/qiugu/the-road-to-front-end-learning。
文字排版。

先说字体。声明字体很简单,font-family语句就完成了,但有时我们可能会看到这样的语句:
h1{
font-family:-apple-system,system-ui,SegoeUI,Roboto,Ubuntu,Cantarell,NotoSans,sans-serif,BlinkMacSystemFont,HelveticaNeue,PingFangSC,HiraginoSansGB,MicrosoftYaHei,Arial
{}
这么大的弦有什么含义?事实上,只有知道这个font-faimly属性中有两种类型的值,一种是字体名称,另一种称为字体系列,您才能理解它。顾名思义,字体族是所有字体的分类。在CSS世界中,一般有以下字体系列:
衬线字体。意思是笔画的开始和结束都有额外的修饰,笔画粗细不同。
无衬线字体。就是没装修,笔画粗细都一样。
等宽字体。字形的宽度相等。
草书字体。模仿人类笔迹的字体。
幻想字体。没有属于以上四种字体的其他字体。
因此,上述声明中的无衬线和Helvetica指的是字体系列,前者是衬线字体,后者是无衬线字体。然后意思就很清楚了。如果系统中有前置字体,使用前置字体;如果没有,尽量使用背面衬线字体;如果没有,继续在back语句中搜索可用的字体。
继承。
一般文本类的属性是可以继承的,比如颜色、字号、字体系列等等。
有些属性是不能继承的,比如边框、填充、边距、背景等。其实很容易理解为什么这些属性不能继承,因为一旦这些属性可以继承,整个布局都会受到影响。例如,我们在父元素上添加了边框,但是它的子元素和子元素都继承了边框,所以我们必须编写更多的代码来消除继承的影响。这个结果肯定不是CSS设计的初衷。
行高.
首先,需要明确的是行高适用于内联元素或内联块级元素。我们声明块级框上的行高实际上适用于块级框的内容,因此通常可以看到它是这样使用的:
本文来源:标梵互动(https://www.biaofun.com/)

继续阅读 »

其实CSS远比我们想象的复杂,有可能CSS的任何一点都可以拿出来写一篇很大篇幅的文章,这一点经常可以看到。所以CSS并不局限于他的名字,级联样式表,更像是一个世界,一个网页不可缺少的重要组成部分。
围绕着上面的CSS系统,当然上图可能不够全面,但也可以说明CSS的主要组成部分。先简单说一下一些未知的隐藏属性,先留下一个大概的印象,扩展一下我们的CSS学习体系,然后再慢慢深入。
本文也是作者结合《CSS世界》《CSS权威指南》《CSS秘密》第一、二卷对一些自己平时忽略或者根本不知道的地方的总结,来源于在浏览器中轻敲代码的实践。
本文也是前端知识体系建设的一部分。详见github:https://github.com/qiugu/the-road-to-front-end-learning。
文字排版。

先说字体。声明字体很简单,font-family语句就完成了,但有时我们可能会看到这样的语句:
h1{
font-family:-apple-system,system-ui,SegoeUI,Roboto,Ubuntu,Cantarell,NotoSans,sans-serif,BlinkMacSystemFont,HelveticaNeue,PingFangSC,HiraginoSansGB,MicrosoftYaHei,Arial
{}
这么大的弦有什么含义?事实上,只有知道这个font-faimly属性中有两种类型的值,一种是字体名称,另一种称为字体系列,您才能理解它。顾名思义,字体族是所有字体的分类。在CSS世界中,一般有以下字体系列:
衬线字体。意思是笔画的开始和结束都有额外的修饰,笔画粗细不同。
无衬线字体。就是没装修,笔画粗细都一样。
等宽字体。字形的宽度相等。
草书字体。模仿人类笔迹的字体。
幻想字体。没有属于以上四种字体的其他字体。
因此,上述声明中的无衬线和Helvetica指的是字体系列,前者是衬线字体,后者是无衬线字体。然后意思就很清楚了。如果系统中有前置字体,使用前置字体;如果没有,尽量使用背面衬线字体;如果没有,继续在back语句中搜索可用的字体。
继承。
一般文本类的属性是可以继承的,比如颜色、字号、字体系列等等。
有些属性是不能继承的,比如边框、填充、边距、背景等。其实很容易理解为什么这些属性不能继承,因为一旦这些属性可以继承,整个布局都会受到影响。例如,我们在父元素上添加了边框,但是它的子元素和子元素都继承了边框,所以我们必须编写更多的代码来消除继承的影响。这个结果肯定不是CSS设计的初衷。
行高.
首先,需要明确的是行高适用于内联元素或内联块级元素。我们声明块级框上的行高实际上适用于块级框的内容,因此通常可以看到它是这样使用的:
本文来源:标梵互动(https://www.biaofun.com/)

收起阅读 »

标梵互动 PHP的选择排序

PHP

这三种类型中,简单选择排序、树型选择排序和堆排序是其中最简单的一种,也是最容易理解的一种。
观念。
SelectionSort:SelectionSort是一个简单而直观的排序算法。正如你所想的那样,直接从待排序的数组中选择一个最小(或最大)的数,每次取一个最小的数,然后将数组的次序放到新数组中,直到全部取完。
步。
最小(大)元素位于未排序的序列中,存放在已排序序列的开始位置。
继续从未排序的元素中查找最小(大)元素,然后将其放置到已排序的序列的结尾。
如此等等,直到所有的元素都被排序。

实现
方式一
> <?php

class SelectionSort
{
/**

  • 主运行方法
  • @return void
    */
    public static function main(): void
    {
    $random = self::random();
    $array = self::sort($random);
    print_r($array);
    }
    /**
  • 选择排序
  • @param array $array
  • @return array
    */
    public static function sort(array &$array): array
    {
    $count = count($array);
    for ($i = 0; $i < $count; $i++) {
    $position = $i;
    for ($j = $i + 1; $j < $count; $j++) {
    if (self::compare($array[$position], $array[$j]) > 0) {
    $position = $j;
    }
    }

        if ($position !== $i) {  
            self::swap($array[$position], $array[$i]);  
        }  
    }  
    
    return $array;  

    }

    /**

  • 比较大小
  • @param int $x
  • @param int $y
  • @return int
    */
    private static function compare(int $x, int $y): int
    {
    return $x <=> $y;
    }

    /**

  • 互换位置
  • @param int $x
  • @param int $y
  • @return void
    */
    private static function swap(int &$x, int &$y): void
    {
    if ($x !== $y) {
    $t = $x;
    $x = $y;
    $y = $t;
    }
    }

    /**

  • 生成随机数组
  • @param int $low
  • @param int $high
  • @param int $num
  • @return array
    */
    private static function random(int $low = 1, int $high = 9999, int $num = 10): array
    {
    $num = $num > $high ? $high : $num;
    $range = range($low, $high);
    $array = array_rand(array_flip($range), $num);
    shuffle($array);

    return $array;  

    }
    }

SelectionSort::main();

// 结果
Array
(
[0] => 312
[1] => 1124
[2] => 1267
[3] => 1884
[4] => 2609
[5] => 4177
[6] => 4773
[7] => 7728
[8] => 8237
[9] => 8963
)
方式二
树形选择排序 - Tree Selection Sort:又名锦标赛排序,是一种按照锦标赛的思想进行选择排序的方法

方式三
堆排序 - Heap Sort:是指利用堆这种数据结构所设计的一种排序算法。它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶

本文来源:标梵互动(https://www.biaofun.com/)

继续阅读 »

这三种类型中,简单选择排序、树型选择排序和堆排序是其中最简单的一种,也是最容易理解的一种。
观念。
SelectionSort:SelectionSort是一个简单而直观的排序算法。正如你所想的那样,直接从待排序的数组中选择一个最小(或最大)的数,每次取一个最小的数,然后将数组的次序放到新数组中,直到全部取完。
步。
最小(大)元素位于未排序的序列中,存放在已排序序列的开始位置。
继续从未排序的元素中查找最小(大)元素,然后将其放置到已排序的序列的结尾。
如此等等,直到所有的元素都被排序。

实现
方式一
> <?php

class SelectionSort
{
/**

  • 主运行方法
  • @return void
    */
    public static function main(): void
    {
    $random = self::random();
    $array = self::sort($random);
    print_r($array);
    }
    /**
  • 选择排序
  • @param array $array
  • @return array
    */
    public static function sort(array &$array): array
    {
    $count = count($array);
    for ($i = 0; $i < $count; $i++) {
    $position = $i;
    for ($j = $i + 1; $j < $count; $j++) {
    if (self::compare($array[$position], $array[$j]) > 0) {
    $position = $j;
    }
    }

        if ($position !== $i) {  
            self::swap($array[$position], $array[$i]);  
        }  
    }  
    
    return $array;  

    }

    /**

  • 比较大小
  • @param int $x
  • @param int $y
  • @return int
    */
    private static function compare(int $x, int $y): int
    {
    return $x <=> $y;
    }

    /**

  • 互换位置
  • @param int $x
  • @param int $y
  • @return void
    */
    private static function swap(int &$x, int &$y): void
    {
    if ($x !== $y) {
    $t = $x;
    $x = $y;
    $y = $t;
    }
    }

    /**

  • 生成随机数组
  • @param int $low
  • @param int $high
  • @param int $num
  • @return array
    */
    private static function random(int $low = 1, int $high = 9999, int $num = 10): array
    {
    $num = $num > $high ? $high : $num;
    $range = range($low, $high);
    $array = array_rand(array_flip($range), $num);
    shuffle($array);

    return $array;  

    }
    }

SelectionSort::main();

// 结果
Array
(
[0] => 312
[1] => 1124
[2] => 1267
[3] => 1884
[4] => 2609
[5] => 4177
[6] => 4773
[7] => 7728
[8] => 8237
[9] => 8963
)
方式二
树形选择排序 - Tree Selection Sort:又名锦标赛排序,是一种按照锦标赛的思想进行选择排序的方法

方式三
堆排序 - Heap Sort:是指利用堆这种数据结构所设计的一种排序算法。它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶

本文来源:标梵互动(https://www.biaofun.com/)

收起阅读 »

微博分享失败

微博分享

如果授权回调页和redirect_uri都设置成一样的之后还是分享失败,看看imageUrl是不是使用本地路径。如果不是改成本地路径试试。

如果授权回调页和redirect_uri都设置成一样的之后还是分享失败,看看imageUrl是不是使用本地路径。如果不是改成本地路径试试。

MacOSX Big Sur 11,HBuilderX和老HBuilder运行说明

big sur HBuilderX

Q1: MacOSX Big Sur 11,HBuilderX启动后,CPU使用率过高,电脑发热

部分有独显的MacBook,老版HBuilderX启动后,CPU使用率过高,电脑发热、发烫,风扇呼呼转。

解决方法:

更新到HBuilderX最新版本

Q2: 老HBuilder在MacOSX Big sur 11上 启动就退出。

老HBuilder已停止维护数年,建议使用HBuilderX。下载地址:https://dcloud.io/hbuilderx.html

继续阅读 »

Q1: MacOSX Big Sur 11,HBuilderX启动后,CPU使用率过高,电脑发热

部分有独显的MacBook,老版HBuilderX启动后,CPU使用率过高,电脑发热、发烫,风扇呼呼转。

解决方法:

更新到HBuilderX最新版本

Q2: 老HBuilder在MacOSX Big sur 11上 启动就退出。

老HBuilder已停止维护数年,建议使用HBuilderX。下载地址:https://dcloud.io/hbuilderx.html

收起阅读 »

关于iOS离线打包SDK百度云非会员下载慢的解决方法,仅适合家里有NAS的同学

离线打包

群晖NAS有一个叫Cloud Sync的插件,可以添加百度云账号,将百度云的文件同步到本地NAS。配置好同步后,将官方提供的SDK包保存到相应文件夹,它就会实时同步到你的NAS,不用再去盯着几十KB的下载进度。
前提是,官方出新SDK你及时去保存到自己的百度网盘

imgbed.cn图床

继续阅读 »

群晖NAS有一个叫Cloud Sync的插件,可以添加百度云账号,将百度云的文件同步到本地NAS。配置好同步后,将官方提供的SDK包保存到相应文件夹,它就会实时同步到你的NAS,不用再去盯着几十KB的下载进度。
前提是,官方出新SDK你及时去保存到自己的百度网盘

imgbed.cn图床

收起阅读 »

iOS代上架,苹果App代上架

iOS打包 苹果审核 上架

1、什么是iOS马甲包?

iOS马甲包就是苹果上架的时候,有些软件限制不能上架,所以需要马甲包,马甲包就是苹果应用市场已经上架的合规软件。

马甲包上架审核通过后,用后台接口控制加入自己不合规的网站链接或者热更替换为自己的业务App代码。

2、什么是iOS代上架?

有的团队或者公司开发出了正规的App,但是自己不会上架。

很多公司开发完App,提交到了苹果市场审核,但是被拒绝了,接下来他们就不知道怎么处理了,因为技术和经验不足,导致的。

无论是正规App上架App Store,还是非正规App想通过马甲包上架,都可以联系我解决,QQ:1481983952

联系QQ:1481983952

继续阅读 »

1、什么是iOS马甲包?

iOS马甲包就是苹果上架的时候,有些软件限制不能上架,所以需要马甲包,马甲包就是苹果应用市场已经上架的合规软件。

马甲包上架审核通过后,用后台接口控制加入自己不合规的网站链接或者热更替换为自己的业务App代码。

2、什么是iOS代上架?

有的团队或者公司开发出了正规的App,但是自己不会上架。

很多公司开发完App,提交到了苹果市场审核,但是被拒绝了,接下来他们就不知道怎么处理了,因为技术和经验不足,导致的。

无论是正规App上架App Store,还是非正规App想通过马甲包上架,都可以联系我解决,QQ:1481983952

联系QQ:1481983952

收起阅读 »

uni.chooseLocation在hbuild里面内置浏览器正常,正式打包不行

先用百度不行,然后换成高德ok
chooseLocation(){

            uni.chooseLocation({  
                success: (data) => { postModel.push({  
                    name:data.name,address:data.address,  
                    province:data.province,city:data.city,lat:data.lat,lng:data.lng});  
                    this.addressData.addressName = data.name;  
                    this.addressData.address = data.name;  
                    this.addressData.lat=data.latitude;  
                    this.addressData.lng=data.longitude;  
                },  
                fail: () => {  
                    uni.getSetting({  
                        success: function(res) {  
                            var statu = res.authSetting;  
                            console.log(statu);  
                            if (!statu['scope.userLocation']) {  
                                console.log(123);  
                                uni.showModal({  
                                    title: '是否授权当前位置',  
                                    content: '需要获取您的地理位置,请确认授权,否则地图功能将无法使用',  
                                    success(tip) {  
                                        if (tip.confirm) {  
                                            uni.openSetting({  
                                                success: function(data) {  
                                                    if (data.authSetting["scope.userLocation"] === true) {  
                                                        uni.showToast({  
                                                            title: '授权成功',  
                                                            icon: 'success',  
                                                            duration: 1000  
                                                        })  
                                                        //授权成功之后,再调用chooseLocation选择地方  
                                                        setTimeout(function() {  
                                                            uni.chooseLocation({  
                                                                success: (data) => {  
                                                                postModel.push({  
                                                                name:data.name,address:data.address,  
                                                                province:data.province,city:data.city,lat:data.lat,lng:data.lng});  
                                                                this.addressData.addressName = data.name;  
                                                                this.addressData.address = data.name;  
                                                                this.addressData.lat=data.latitude;  
                                                                this.addressData.lng=data.longitude;  
                                                                }  
                                                            })  
                                                        }, 1000)  
                                                    }  
                                                }  
                                            })  
                                        } else {  
                                            uni.showToast({  
                                                title: '授权失败',  
                                                icon: 'none',  
                                                duration: 1000  
                                            })  
                                        }  
                                    }  
                                })  

                            }  
                        }  
                    })  
                }  
            })  
        }  
        ,  
        //地图选择地址  
继续阅读 »

先用百度不行,然后换成高德ok
chooseLocation(){

            uni.chooseLocation({  
                success: (data) => { postModel.push({  
                    name:data.name,address:data.address,  
                    province:data.province,city:data.city,lat:data.lat,lng:data.lng});  
                    this.addressData.addressName = data.name;  
                    this.addressData.address = data.name;  
                    this.addressData.lat=data.latitude;  
                    this.addressData.lng=data.longitude;  
                },  
                fail: () => {  
                    uni.getSetting({  
                        success: function(res) {  
                            var statu = res.authSetting;  
                            console.log(statu);  
                            if (!statu['scope.userLocation']) {  
                                console.log(123);  
                                uni.showModal({  
                                    title: '是否授权当前位置',  
                                    content: '需要获取您的地理位置,请确认授权,否则地图功能将无法使用',  
                                    success(tip) {  
                                        if (tip.confirm) {  
                                            uni.openSetting({  
                                                success: function(data) {  
                                                    if (data.authSetting["scope.userLocation"] === true) {  
                                                        uni.showToast({  
                                                            title: '授权成功',  
                                                            icon: 'success',  
                                                            duration: 1000  
                                                        })  
                                                        //授权成功之后,再调用chooseLocation选择地方  
                                                        setTimeout(function() {  
                                                            uni.chooseLocation({  
                                                                success: (data) => {  
                                                                postModel.push({  
                                                                name:data.name,address:data.address,  
                                                                province:data.province,city:data.city,lat:data.lat,lng:data.lng});  
                                                                this.addressData.addressName = data.name;  
                                                                this.addressData.address = data.name;  
                                                                this.addressData.lat=data.latitude;  
                                                                this.addressData.lng=data.longitude;  
                                                                }  
                                                            })  
                                                        }, 1000)  
                                                    }  
                                                }  
                                            })  
                                        } else {  
                                            uni.showToast({  
                                                title: '授权失败',  
                                                icon: 'none',  
                                                duration: 1000  
                                            })  
                                        }  
                                    }  
                                })  

                            }  
                        }  
                    })  
                }  
            })  
        }  
        ,  
        //地图选择地址  
收起阅读 »

移动端css position:fixed布局定位问题

布局

移动端布局踩坑

绝对不要在 scroll-view 标签内使用 position:fixed 布局做定位
安卓目前测试没啥问题,但是,注意IOS一堆坑!!!
几乎每个苹果手机展示都不一样
等你调试半天,测了几个苹果,ok没啥问题。你以为万事大吉,但是!!!


看到了吧,有些IOS他就是牛哔~(破音)
所以划重点:不要在 scroll-view 标签内使用 position:fixed 布局

继续阅读 »

移动端布局踩坑

绝对不要在 scroll-view 标签内使用 position:fixed 布局做定位
安卓目前测试没啥问题,但是,注意IOS一堆坑!!!
几乎每个苹果手机展示都不一样
等你调试半天,测了几个苹果,ok没啥问题。你以为万事大吉,但是!!!


看到了吧,有些IOS他就是牛哔~(破音)
所以划重点:不要在 scroll-view 标签内使用 position:fixed 布局

收起阅读 »