flex布局在微信和QQ的内置浏览器显示正常,但是在手机自带的浏览器中部分布局出错

发布于 2022-09-05 20:03:31 字数 2006 浏览 13 评论 0

如图,我这个react项目整个项目大量使用flex布局,但是只有这种结构的地方出错
这是我微信正常显示的结构
图片描述

这是我手机浏览器的里出错的结构
图片描述

这种结构的代码:jsx:

render(){
    return(

        <Link to={'/detail/' + this.state.itemInfo.id} className="goodWrapper clearfix" onClick={this.showId}>
            <div className="goodInner">
                <div className="goodpic">
                    <img src={this.state.itemInfo.goodPic}/>
                </div>
                <div className="describe">
                    <h1 className="goodTitle">{this.state.itemInfo.goodTitle}</h1>
                    <div className="priceWrapper">
                        <span className="price">售价:</span><span className="goodprice">{this.state.itemInfo.goodPrice}</span>
                    </div>
                </div>
            </div>
        </Link>
    )
}

样式:

.goodWrapper{
  width: 100%;
  padding-top:10px;
  background: #fff;
  display: block;
}
.goodInner{
  display: flex;
  width: 90%;
  margin:0 auto;
  border-bottom:1px solid #e5e5e5;
}
.shopCart .ant-checkbox-wrapper{
  margin-right:0 !important;
}
.goodpic{
  flex:0
}
.goodpic img{
  border-radius: 5px;
  width: 100px;
}
.describe{
  flex:1;
  margin-left: 15px;
}
.goodTitle{
  font-size: 13px;
  margin-top: 10px;
}
.priceWrapper{
  padding-top: 5px;
}
.price{
  font-size: 12px;
  color: #555;
}
.goodprice{
  font-size: 16px;
  padding-top: 20px;
  font-weight: bold;
  color: #f92f15;
}
.goodsItemInCartInfo{
  margin-left: 10px;

}
.goodsItemInCartName{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

有大神知道怎么回事嘛?感激不尽。。。

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

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

发布评论

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

评论(2

拧巴小姐 2022-09-12 20:03:31

谢邀,不知道你的手机是什么版本号,安卓手机的自带浏览器内核有些并不相同,依你的第二张图片来看,比较像是goodpic或img元素被默认加上了position:absolute;样式,让他脱离了文档流

排查方案

1,检查此浏览器是否支持flexbox布局,如果不支持,根据情况更换布局方式
可以尝试补全样式头-webkit-flex
2,在goodpic元素上添加样式position:relative;

回梦 2022-09-12 20:03:31

凡是flex都加上兼容试试,display: -webkit-flex;-webkit-flex: 1;

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