请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

flex 兼容性问题

老师你好,我用Flex做布局时,发现PC端与移动端效果不一样,比如flex中的column-gap就没有效果。网上查询是说移动端对于Flex兼容性不是太好,假如想兼容多个浏览器,可以采用优雅降级的方式来使用,推荐一个scss的sass-flex-mixin,目前不知道这个如何使用,想请老师帮忙。或有什么好的解决方案呢?

正在回答

1回答

你好,根据这个网站查询了一下兼容性,兼容性还是很好的,基本移动端都是支持的。

https://caniuse.com/?search=column-gap

你说的sass-flex-mixin这个很古老了,是为了兼容flex刚出来时候做的兼容处理,5年前的东西了,现代浏览器已经99%支持flex相关布局了。

你试试我的代码,看看在你说的移动端是否支持?

<!DOCTYPE html>

<html lang="en">

    <head>

        <meta charset="UTF-8" />

        <meta http-equiv="X-UA-Compatible" content="IE=edge" />

        <meta name="viewport" content="width=device-width, initial-scale=1.0" />

        <title>Document</title>

        <style>

            .box {

                width: 400px;

                height: 400px;

                border: 1px black solid;

                display: flex;

                flex-wrap: wrap;

                align-content: flex-start;

                column-gap: 10px;

                row-gap: 10px;

            }

            .box div {

                width: 100px;

                height: 100px;

                background: pink;

            }

        </style>

    </head>

    <body>

        <div class="box">

            <div>1</div>

            <div>2</div>

            <div>3</div>

            <div>4</div>

            <div>5</div>

        </div>

    </body>

</html>


如果以上代码还是不支持的话,请告诉我是移动端哪个设备下的哪个浏览器。

可以了解一下 autoprefixer 插件,可以尝试把浏览器前缀添加上看是否支持。


0 回复 有任何疑惑可以回复我~
  • 提问者 慕村8337265 #1
    恩,PC是可以,我在微信里面打开就不行,这个地址,你试下?http://106.15.189.142:8081/dd.html
    回复 有任何疑惑可以回复我~ 2021-09-25 22:08:12
  • 西门老舅 回复 提问者 慕村8337265 #2
    嗯~手机里的浏览器版本过低,所以不支持。https://caniuse.com/?search=column-gap 这里由兼容性查询,可以看到Safari on iOS 当版本小于14.4的都是不支持的。所以只能给子元素添加margin来解决,就不能用column-gap属性了。
    回复 有任何疑惑可以回复我~ 2021-09-26 23:26:15
  • 提问者 慕村8337265 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2021-10-19 12:25:58
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信