javascript - flex-grow 属性似乎无法正常工作
问题描述
我在父级下有一个父级 div 和两个子级 div。据我了解,当我将第一个孩子的 flex-grow 设置为零时,这个元素的宽度永远不会改变,但是当我向第二个孩子添加一些文本时,第一个孩子的宽度会减小。但为什么?
document.querySelector('#button').addEventListener('click', function() {
document.querySelector('.child2').appendChild(document.createTextNode('This is text. '));
})
.parent {
width: 400px;
height: 400px;
background-color: #ccc;
display: flex;
}
.child1 {
width: 100px;
flex-grow: 0;
background: red;
}
<button id="button">Add text</button>
<div class="parent">
<div class="child1">fdsafa</div>
<div class="child2"></div>
</div>
解决方案
你说的对。如果它正在扩展,则flex-grow
停止宽度的变化。但是,如果它变得越来越小,它不会做任何事情。那是为了什么。试穿孩子。
flex-shrink
flex-shrink
document.querySelector('#button').addEventListener('click', function() {
document.querySelector('.child2').appendChild(document.createTextNode('This is text. '));
})
.parent {
width: 400px;
height: 400px;
background-color: #ccc;
display: flex;
}
.child1 {
width: 100px;
flex-shrink: 0;
background: red;
}
<button id="button">Add text</button>
<div class="parent">
<div class="child1">fdsafa</div>
<div class="child2"></div>
</div>
推荐阅读
- python - beautiful soup parse table columns and stripping newlines
- html - 如何使用 flexbox 实现只有一个孩子(前一个)响应
- python - 将日期列(字符串)转换为日期时间并匹配格式
- c# - 如何将浮点数转换为整数
- python-3.x - 使用 xhtml2pdf 时没有名为“reportlab.graphics.barcode.code128”的模块错误
- c++ - Clang、MSVC、GCC 不同意使用 index_sequence 中的函数应用程序编译此代码
- kernel - 我无法从有效的可启动 USB 驱动器启动我的笔记本电脑
- python - 将多个新行的列表添加到 python 数据帧而不循环
- c++ - DicomToMesh OSX 构建问题
- linux - 使用 sed 中的变量通过用户选择删除行号