网站定位策划,口碑营销为什么越来越重要,建设银行网站修改密码,汉中定制网站建设公司前言#xff1a; emmm#xff0c;说起来这个问题整得还挺好笑的#xff0c;本人在公司内#xff0c;奋笔疾书写代码#xff0c;愉快的提交测试的时候#xff0c;测试跟我说#xff0c;在苹果手机上你这个样式有bug#xff0c;我倒是要看看#xff0c;是什么bug。
安卓…前言 emmm说起来这个问题整得还挺好笑的本人在公司内奋笔疾书写代码愉快的提交测试的时候测试跟我说在苹果手机上你这个样式有bug我倒是要看看是什么bug。
安卓vs苹果 ok我相信已经看出了差异了安卓的遮罩层正常显示而苹果的遮罩层只在我的绿色框内被截断了我赶忙看代码
CustomItem.vue自定义组件
蓝色的正方形外加上一个遮罩层点击蓝色方块的时候显示遮罩层遮罩层内写我的要展示的一些内容。
templateview classview classitem clickvisible true/viewview classmask v-ifvisible clickvisible false/view/view
/templatescript
export default {name: CustomItem,data() {return {visible: false};}
};
/scriptstyle langscss scoped
.item {width: 100rpx;height: 100rpx;background-color: #00aaff;
}
.mask {position: fixed;top: 0;left: 0;right: 0;bottom: 0;background-color: rgba(#000, 0.5);
}
/style 父组件引用CustomItem组件
templateview classindexscroll-view scroll-x classscrollview classlistcustom-item classitem v-fori in 10 :keyi/custom-item/view/scroll-view/view
/templatescript
import CustomItem from /components/CustomItem/index.vue;
export default {components: {CustomItem}
};
/scriptstyle langscss scoped
.index {width: 100vw;height: 100vh;display: flex;align-items: center;justify-content: center;
}.scroll {width: 400rpx;height: 150rpx;background-color: #aaaa7f;
}
.list {padding: 20rpx;display: flex;align-items: center;.item {margin-right: 20rpx;}
}
/style如此就造成了上面的结果在ios上显示不正常于是我立马进入百度啦问心一言啦通义千问啦最后哈在社区找到了这么一个帖子帖子看这里。 emmm寻求解决办法
1.弃用scroll-view改用view使用css滚动;
view classlistcustom-item classitem v-fori in 10 :keyi/custom-item
/viewstyle langscss scoped
.list {width: 400rpx;height: 150rpx;background-color: #aaaa7f;padding: 20rpx;overflow-x: scroll;display: flex;align-items: center;.item {margin-right: 20rpx;}
}
/style
2.如非必要可以更改接口其实上面的自定义组件CustomItem看着好像没有什么问题是机型系统差异导致的但是我们也并不能将全部原因归结于系统。
当我们把它合起来看的话就会发现在结构上似乎有一些问题了遮罩层这一块的元素就需要循环10次如果列表很长的话那不就妥妥增加了很多的dom浪费性能不说结构设计也看着很怪 所以有时候我们在封装组件的时候不妨也这样考虑一下可能这么写真的不太合适最好的方案就是再划分下结构只需要记得mask内的元素在放在scroll-view的外层即可
scroll-view scroll-x classscrollview classlistview class v-fori in 10 :keyiview classitem clickvisible true/viewview classmask v-ifvisible clickvisible false/view/view/view
/scroll-view 告辞