x5浏览器 是否有flex兼容性写法

发布于 2022-09-01 23:04:44 字数 1100 浏览 37 评论 0

最近在移动端做三栏布局遇到了问题,如何将父容器均分三份给三个子容器?
预期效果如图:
图片描述

代码如下:

<ul class="tabs">
    <li class="active">全部订单<span></span></li>
    <li>未确认<span></span></li>
    <li>待收货</li>
</ul>

    .tabs{
    margin: 0.75rem 1rem 0.75rem 1rem;
    border: 1px solid #009BE1;
    border-radius: 5px;
    overflow: hidden;
    font-size: 0;
    height: 1.75rem;
    display: flex;
}
.tabs li{
    width: 33.33333%;
    flex: 1;
    display: inline-block;
    line-height: 1.75rem;
    text-align: center;
    color:#009BE1;
    font-size: 0.8rem;
    height: 100%;
}


如果用flex自然没有问题,但是微信浏览器目前还不支持flex,所以我前面设置了width:33.3333%;
但这样设置的问题是最右边按钮与父容器之间会有间隙,因为三个子元素宽度加起来不到100%,会比较难看:

图片描述

我把容器宽度设为width: 14rem;
子元素宽度设为width: 4.66666rem;
这样在360宽的手机上没有空隙了,但是在米note 393px宽的屏幕上还是有空隙

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

原野 2022-09-08 23:04:44

首先,X5 是支持 flex 布局的,具体是支持旧语法还是新语法我就不太确定了

推荐你使用 Autoprefixer 来处理 CSS 代码,自动添加前缀,兼容 flex 新旧两种语法,你只需要写标准的 flex 代码就好了。像你上面这种需求,用 flex 处理起来没有任何问题,还是去排查一下 flex 相关的代码吧。

Demo 点这里

仙女山的月亮 2022-09-08 23:04:44

把宽度小数点后调大一点。。

又怨 2022-09-08 23:04:44

我遇到这个问题,flex 新旧写法都不行。

最终尝试添加 “display: block;” 才解决。

因为我的 flex item 是行内元素,本身是块级元素的就不会出现这个问题了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文