解决flex gap兼容性问题

这篇具有很好参考价值的文章主要介绍了解决flex gap兼容性问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

一个项目写下来,在网页端预览的时候正常,结果到产品经理手上。

设计稿样式

解决flex gap兼容性问题,vue.js,前端,javascript

实际产品手机上样式

解决flex gap兼容性问题,vue.js,前端,javascript

产品:“你这玩意儿怎么没间距?”

我:“为什么我的正常???呐呐呐你看我手机(来自RedmeK50Utral)”

产品:“哦,你看我的手机(来自荣耀20)”

我:“。。。”

至此我看了看我代码中的一堆gap,再看了看她那还不退休的老安卓,陷入了沉思!

解决办法

我的想法就是通过子元素设置右边和下边的间距,父元素设置同等值的,同方向的负magin值来实现gap同样的效果。

// xxxx.scss
.xxxxActions {
  display: flex;
  margin-right:-12px;
  margin-bottom:-12px;
    .xxxaa {
  		margin-right:12px;
 		margin-bottom:12px;
    }
}

你以为这样就结束了吗?漏!并不是这样的。每个文件中都这么写不累吗?作为一个懒鬼,我是非常不屑于这么写,不够优雅。

sass mixin用法

写过vue2的肯定都知道,mixin是个什么东西,sass同理

某观众:“这这这我熟啊!”

mixin简单来说,就是把一些共用的东西,给塞进来,mixin的英文翻译过来是混入的意思。就好比你是奶茶店的员工,你在做奶茶,每杯奶茶都需要加糖吧!但其他东西都不一样,这时候就可以把果糖封装起来,然后mixin混入一下,混到奶茶里,这杯奶茶就成了。是不是非常好理解

封装mixin

@mixin gap($size) {
	margin-bottom: calc(0px - $size);
	margin-right: calc(0px - $size);
	& > * {
		margin-right: $size;
		margin-bottom: $size;
	}
}

使用mixin

这里以vue cli5+webpack5实例,其他同理。uniapp中直接在uni.scss中写mixin,不需要多余配置

第一步:在vue.config.js中配置,webpack4把additionalData换成data就行

module.exports = defineConfig({
  css: {
    loaderOptions: {
      sass: {
        additionalData: `
          @import "@/assets/css/mixin.scss";
        `
      }
    },
  },

})

这一步的配置作用是自动在每个scss文件中引入mixin.scss,这样才能访问到mixin函数

第二步:使用

.basicBottomActions {
	display: flex;
	@include gap(10px);
}

总结

以上就达到了gap同样的效果,并且保持了良好的兼容性。妈妈再也不怕兼容性不好的手机用不了gap啦!总之不管用的什么打包工具,vite也要webpack也好,原理是一样的。文章来源地址https://www.toymoban.com/news/detail-734265.html

到了这里,关于解决flex gap兼容性问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【前端】vant组件移动端兼容性问题汇总

    记录使用vant组件开发过程中遇到的兼容性问题 问题截图: 解决方法: 模拟滚动触发日历组件的加载,在van-calendar上绑定@open=\\\"openCalendar\\\"事件 参考来源:vant 日历插件,部分全面屏手机显示不出来 解决方法: 更改挂载节点,在van-popup上加get-container=“body” 参考来源:vant兼容

    2024年02月10日
    浏览(32)
  • webpack处理js兼容性问题之core-js

    过去我们使用 babel 对 js 代码进行了兼容性处理,其中使用 @babel/preset-env 智能预设来处理兼容性问题。 它能将 ES6 的一些语法进行编译转换,比如箭头函数、点点点运算符等。但是如果是 async 函数、 promise 对象、数组的一些方法 (includes) 等,它没办法处理。 所以此时我们

    2024年02月09日
    浏览(34)
  • 如何解决群晖硬盘兼容性问题

    首先,在群晖设置-终端-启用SSH。然后,下载putty,用administrator管理权限组的账号登录, 如输入“ssh 你的DSM用户名@IP”,输入登录密码登录。最后,运行以下命令切换到root权限。 sudo - i 进到系统配置文件夹。 cd  /etc.default 备份配置文件 cp  synoinfo.conf synoinfo.conf2 编辑配置文

    2024年02月09日
    浏览(142)
  • Qt 嵌入Vue项目 flapMap 浏览器兼容性问题

    最近有个需求,Qt工程需要嵌入vue项目,本来是很简单的事情。在我的PC上启动Vue项目,同事PC上用浏览器通过IP地址可以正常加载vue项目,但用Qt嵌入总是失败。问题定位步骤如下: 1)换了一个简单的vue项目,发现没有问题,Qt工程能正常加载vue项目 2)由于Qt不像浏览器那样

    2024年02月12日
    浏览(29)
  • 解决SpringBoot3整合Druid的兼容性问题

    本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 截止目前,Druid对于SpringBoot3的支持不够全面和友好;存在一些兼容性的问题,导致项目报错。 在此,针对该问题提供可行的解决方案;以供各位参考。 请您使用以下依赖: 图示如下: 请勿使用以下依赖: 请

    2024年02月03日
    浏览(33)
  • vc 6.0++解决兼容性及闪退问题

    文章同步于我的个人博客https://quan9i.github.io/vc++/,欢迎大家访问 我在安装好vc6.0后出现了如下问题,总结如下 在安装完成后运行程序会出现不兼容的情况,如下图所示 此时我们右键一下,然后选择打开文件所在位置 找到MSDEV文件,并更名为MSDEV2 此时我们右键快捷方式,点击

    2024年02月04日
    浏览(38)
  • h5逻辑_解决h5页面嵌入ios兼容性问题

    安全区域 如下图所示~ 蓝色部分为安全区域。处于安全区域内的内容不受圆角、齐刘海、小黑条的影响。 若是将h5页面嵌入app中,就需要进行适配— 让h5页面展示在安全区域内。 tips: 安全区域是在ios11之后并且是iPhoneX及以上机型才有的。 因此我们只需适配以上机型其余机型

    2024年02月14日
    浏览(64)
  • JDK 21报错:NoSuchFieldError解决方案 - Lombok版本兼容性问题解析

    JDK 21的报错NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field \\\'com.sun.tools.javac.tree.JCTree qualid\\\'通常涉及到Lombok库版本与Java编译器之间的兼容性问题。最近的Lombok版本通常会修复旧版本中的错误,因此你可以尝试升级Lombok版本来解决这个问题。 你需要更新L

    2024年02月04日
    浏览(43)
  • 解决Microsoft Edge的Internet Explorer 兼容性问题(关键词:教资报名)

    在教师资格证报名的时候会遇到Internet Explorer 兼容性问题,现在我们只解决 的问题,其他游览器的兼容性问题系统会给提示。 我们进入报名入口,选择报名省份 点击登录后,会出现这样的系统提示:  找到浏览器的设置,在设置中找到默认浏览器,会看到以下界面:   在界

    2024年02月12日
    浏览(34)
  • CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背景属性 渐变 前端开发入门笔记(七)

    CSS3是用于为HTML文档添加样式和布局的最新版本的层叠样式表 (Cascading Style Sheets)。下面是一些常用的CSS3属性及其详细解释: border-radius:设置元素的边框圆角的半径。可以使用四个值设置四个不同的圆角半径,也可以只使用一个值来设置统一的圆角。 box-shadow:创建一个元

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包