如何确保 Flexbox 布局中包裹的 Flex 项目的宽度一致
问题
在 Flexbox 布局中,Flex 项目通常遵循指定的最小和最大宽度。然而,当弹性项目换行到新行时,它们往往会扩展以占据可用空间,从而导致不同行上的项目之间的宽度不一致。
解决方案
虽然没有直接的解决方案对于 CSS 规范中的此问题,可以使用媒体查询来实现解决方法。
Mixin 方法
SCSS Mixin:
@mixin flex-wrap-fix($flex-basis, $max-viewport-width: 2000px) { flex-grow: 1; flex-basis: $flex-basis; max-width: 100%; $multiplier: 1; $current-width: 0px; @while $current-width <p><strong>用法:</strong></p><p>将 mixin 应用于每个 Flex 项目:</p><pre class="brush:php;toolbar:false">.flex-item { @include flex-wrap-fix(100px) }
说明
此 mixin 根据指定的 Flex 生成一系列媒体查询- 弹性项目的基础。每个媒体查询通过将 100% 除以适合该行的 Flex 项目数量来计算给定视口宽度的 Flex 项目的最大宽度。
更新了基于容器的控件的 Mixin
在某些情况下,Flex容器的宽度可能与视口宽度不匹配。为了解决这个问题,可以将 mixin 的更新版本应用于 Flex 容器:
@mixin flex-container-wrap-items($flex-basis, $max-expected-width: 2000px) { display: flex; flex-wrap: wrap; > * { max-width: 100%; flex-grow: 1; flex-basis: $flex-basis; } $multiplier: 1; $current-width: 0px; @while $current-width * { max-width: percentage(1/$multiplier); } } }
用法:
将 mixin 应用于 Flex 容器:
.flex-container { @include flex-container-wrap-items(100px) }
示例
修改后的 CodePen 示例可以在这里找到:
http://codepen.io/anon/pen/aNVzoJ
注意事项
- 此方法不支持所有行上的 Flex 项目之间的宽度相等。
- 如果最大视口宽度已知,则应指定它以避免过多的媒体查询。
以上是如何在 Flexbox 布局中实现包裹 Flex 项目的一致宽度?的详细内容。更多信息请关注PHP中文网其他相关文章!

在本周的综述中:Firefox获得了类似锁匠的力量,三星的Galaxy Store开始支持Progressive Web Apps,CSS Subgrid正在Firefox发货

在本周的综述中:Internet Explorer进入Edge,Google Search Console吹捧新的速度报告,Firefox提供了Facebook&#039;

盖茨比(Gatsby)进行了出色的处理和处理图像。例如,它可以帮助您节省图像优化的时间,因为您不必手动


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6
视觉化网页开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。