html - 在内部元素中使用带填充的 Flexbox

标签 html css flexbox

当其中一项被填充部分填充时,如何保持两项之间由 flex-grow 定义的宽度比?这是行不通的。比率取决于容器宽度。

<div style="display: flex;">
  <div style="flex-grow: 3; padding: 4rem; background-color: red;">
  </div>
  <div style="flex-grow: 2; background-color: green;">
  </div>
</div>

最佳答案

flex-grow属性不是为 flex 元素的精确尺寸而设计的。它的工作是在 flex 元素之间分配容器中的空间。所以 flex-grow 不是这项工作的最佳工具。

相反,使用 flex-basis ,相当于 flex 容器中的 widthheight(取决于 flex-direction)。

然后添加box-sizing: border-box将内边距整合到 flex 元素的宽度中。

revised fiddle demo

<div style="display: flex;">
  <div style="flex-basis: 60%; padding: 4rem ; background-color: red; box-sizing: border-box;">
  </div>
  <div style="flex-basis: 40%; background-color: green;">  
  </div>
</div>

关于html - 在内部元素中使用带填充的 Flexbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48171699/

相关文章:

jquery - 数学 - 计算调整大小的图像的新大小

c# - 如何使用 Tailwind CSS 在 Blazor 应用程序中单击后更改菜单项颜色

html - 尝试使用 CSS 以行模式显示彼此相邻的元素

html - 如何在悬停过渡期间使文本平移/增加宽度

html - Lokesh Dhakar 的 Lightbox disableScrolling 跳转到页面顶部

asp.net - ASP 按钮文本的 CSS 选择器

html - 居中 flex 元素,在行尾有一个

html - 如何让复选框+标签系列在填充可用宽度的同时垂直堆叠?

html - 如何让两个垂直元素之一的高度依赖于另一个?

css - bootstrap 中 navbar-fixed-top 上方的 div