flex布局下Restaurant1容器溢出屏幕,如何实现响应式按数量换行展示
解决方法
你只需要修改新增如下CSS代码即可实现需求,无需调整原有页面结构:
修改后的CSS代码
.Section_Offers_Near_You { font-family: Arial, Helvetica Neue, sans-serif; font-size: 28px; font-weight: 600; color: #3d4152; margin-top: 0; margin-bottom: 35px; } .Resturants { margin: 0; padding: 0; display: flex; justify-content: space-between; /* 新增属性 */ flex-wrap: wrap; row-gap: 30px; /* 行间距,可根据设计需求调整数值 */ } /* 新增外层容器box的宽度控制 */ .box { width: 31%; box-sizing: border-box; } .Resturant1 { position: relative; /* 新增宽度适配 */ width: 100%; } /* 新增菜品图片适配,避免溢出 */ .Restuarant_img { width: 100%; height: auto; } /* 响应式断点,屏幕宽度≤768px时每行显示2个,断点数值可按需调整 */ @media (max-width: 768px) { .box { width: 48%; } }
调整说明
- 给flex容器
.Resturants新增flex-wrap: wrap属性,解决子元素横向排列溢出的问题,超出一行的元素会自动换行 - 通过百分比宽度控制
.box容器的占位,31%的宽度刚好适配一行3个的布局,剩余空间作为横向间距,避免元素拥挤 - 媒体查询设置小屏适配,宽度低于设定断点时自动切换为48%宽度,实现一行2个的布局效果
- 图片设置宽度100%适配容器,避免图片尺寸过大撑破布局
内容的提问来源于stack exchange,提问作者Mithilesh Patil
相关产品推荐
相关产品推荐

