- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个简单的 flex-box 布局,我希望中间的元素直接缩小,但我无法找到 flex-shrink
属性起作用的任何情况。
我已经尝试删除 flex-container 上的 flex-wrap
属性并更改 flex 元素的值,但它仍然不起作用?
在下面的代码中,如何让中间的 div 收缩到 flex-shrink
值 10,就像代码建议的那样?
非常感谢您的帮助。
body {
padding: 20px;
font-family: arial;
}
p {
color: white;
}
.container {
background-color: #666;
max-width: 800px;
height: 800px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.item {
padding: 10px;
box-sizing: border-box;
}
.item1 {
flex: 1 1 0;
background-color: red;
min-width: 200px;
}
.item2 {
flex: 2 10 0;
background-color: blue;
}
.item3 {
flex: 1 1 0;
background-color: green;
}
<section class="container">
<div class="item item1">
<h1>ITEM1</h1>
</div>
<div class="item item2">
<h1>ITEM2</h1>
</div>
<div class="item item3">
<h1>ITEM3</h1>
<p> - this is the third item with more content</p>
</div>
</section>
最佳答案
这不是 flex-shrink
的工作方式。
flex-shrink
的工作是在元素之间分配容器中的负自由空间。这意味着当元素溢出容器时它会按比例缩小元素。
但是你的容器中没有溢出条件。
第一列 (.item1
) 的宽度为 200px。
您的第二列 (.item2
) 没有固定宽度。它被设置为占用可用空间。
您的第三列 (.item3
) 没有固定宽度。它还设置为占用可用空间。
因此,flex-shrink
没有任何作用。在 width: 800px
的容器中,仅使用 200px,永远不会调用 flex-shrink
。
您在三列(分别为 1、10 和 1)上启用了 flex-shrink
。如果您对它们全部禁用 flex-shrink
,您会发现它对布局没有影响。
这是您的演示,其中 flex-shrink: 0
应用于所有三次:revised codepen
有关 flex-shrink
工作原理的详细说明,请参阅此帖子:
关于html - 如何让 flex-shrink 真正收缩一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47117599/
来自 this question ,我将问题深入到列表框,当列表框项目缩小时,它不会调整大小。当项目的大小增加时,它会相应地调整大小,但当项目的大小减小时,它不会缩小。 项目可以增长/缩小,因为项目包
请看我的脑残粉 我一直坚持用正则表达式缩小一些很长的路径,就像这样: /12345/123456/1234/123/12/1/1234567/13245678/123456789/1234567890
我正在使用 FB.Canvas.setAutoGrow(7); 来扩展我的页面(page=highscore 表因此需要扩展)。 然而,当我回到其他页面时, Canvas 保持增长,但它应该适应新的内
我开始使用 flexbox,为了理解 flex-grow 和 flex-shrink,我使用了一个简单的程序来显示两个 block 和在其中一个中使用 flex-grow: 2 并在另一个中使用 fl
我创建了一个简单的报告并将其上传到我的报告服务器。它在报表服务器上看起来是正确的,但是当我设置电子邮件订阅时,报表比预期的要窄得多。 这是报表在设计器中的样子。当我在报表服务器上查看时,它看起来很相似
假设有一些面包屑栏 - 一行包含各种链接数,每个链接都有省略号,如果溢出它应该缩小。 溢出应该很聪明 - 如果有 5 个链接,其中 2 个链接比其他链接宽得多,它们必须缩小到 20%,而 3 个短链接
我目前正在使用 Itextsharp,但在使用 PDfPtables 时遇到了一些麻烦。 有时它们对于一页来说太大了,并且当添加到文档中时,它们会被分成多个页面。 可悲的是,我的一些上司无法接受这种理
Nagarajan 等人。书(R 中的贝叶斯网络,O'Reilly 2013,第 35 页)说,当我使用 R bnlearn 包的标记数据集并要求通过编写使用增长-收缩实现来学习结构时 library
我编写了一个代码,其中有一个名为 array2 的数组,其中包含 0. 和 1. 之间的数字。当我单击 imshow 显示的数组时,数组中的单元格的值为 2. 并变为红色。 然后我添加了一个颜色条,但
我对下面的代码有疑问。我在下面的代码成功地运行了一个目录,并将图片的分辨率设置为较小的尺寸。但是,文件大小没有改变。例如,尺寸为 2400x1800 且文件大小为 1.5MB 的图像将缩放为 800x
基本问题是:如何在自身包含其他元素的同时收缩以适合元素? 目标是在(居中)图像上有一个(居中)菜单,其宽度和高度应与图像尺寸相关。所有这些都是响应式的,这意味着没有绝对尺寸! 这是示例代码:
我想要一个元素,它的子元素在 width 中增长,子元素向左浮动,我希望父元素在其父元素中居中。当 float 的 child 开始包裹时,一侧的宽度大了 ~20px,我不希望这样。 理论上我有我想要
这个问题已经有答案了: Add delay before .hide() w/jQuery (2 个回答) 已关闭 9 年前。 我想做的事情: 我想在设定的持续时间(例如 3 秒)后隐藏元素或图像。不
我在处理动画时遇到问题。 image View 从比例 1 开始。我想缩小它。代码看起来很简单: image.transform = CGAffineTransformIdentity // Voi
我这里有一个简单的 jsFiddle,其中 pos2 从 pos1 获取 css 并制作动画以在 pos1 上覆盖 pos2。 http://jsfiddle.net/4beEM/4/ 可以看到,点击
我有一个 block ,其中有一个图像和另一个 block 。 父 block 有display:flex,使图像和子 block 排成一排。 子 block 也有 display:flex,但它形成
有一个页面显示 s 为 12pt 字体。它在除 IE7+ 之外的任何浏览器中都可以正常打印。在 IE7+ 中,用户浏览器默认选择“收缩以适合”,因此它打印的文本更接近 9pt。 我们需要以 12pt
我有一个简单的 flex-box 布局,我希望中间的元素直接缩小,但我无法找到 flex-shrink 属性起作用的任何情况。 我已经尝试删除 flex-container 上的 flex-wrap
我有一个 div,我想在其中使用带有 3 个按钮的全 Angular 按钮组。第二个和第三个按钮“文本”将只是字体超棒的图标,所以我希望它们比第一个小。 (比如60%-20%-20%) 我试过这个片段
我有一个脚本,它从正在检查不正确数据的记录文件中读入。它们可能各自抛出相同的异常,并且它们存在于同一行。有没有一种方法可以识别哪个字段抛出异常而不必将其分成多行? 此处为玩具示例: a = [1] b
我是一名优秀的程序员,十分优秀!