我正在尝试在具有的容器内添加一些元素display: flex
。
问题是,当我缩小屏幕时,它会在我尚未设置的元素之间形成间隙(或者至少我不这么认为)。
我创建了一个[SFiddle来代表我的问题。
如您所见,当您缩小屏幕时,第一和第二个div之间会有一个蓝色空间。
我该如何解决?
提前致谢!
html,
body {
width: 100%;
height: 100%;
}
#container {
display: flex;
height: 100%;
background-color: blue;
}
.block {
flex: 1;
}
#left {
background-color: green;
}
#center {
display: flex;
flex: 1;
flex-wrap: wrap;
}
#right {
background-color: orange;
}
.flexContainer {
flex: 1;
width: 50%;
min-width: 100px;
max-width: 50%;
height: 150px;
background-color: red;
padding: 10px;
}
.flexDiv {
width: 100%;
height: 100%;
background-color: yellow;
}
<div id="container">
<div id="left" class="block">Left</div>
<div id="center" class="block">
<div class="flexContainer">
<div class="flexDiv"></div>
</div>
<div class="flexContainer">
<div class="flexDiv"></div>
</div>
</div>
<div id="right" class="block">Right</div>
</div>
创建Flex容器时,初始设置为 align-content: stretch
。
这导致多行柔性物品沿容器的横轴均匀地分布。有点像flex: 1
沿主轴设置:伸缩项均匀地分布在整个直线上。
结果,align-content: stretch
柔性物品包装时可能会导致缝隙。
简单的解决方案是使用覆盖此设置align-content: flex-start
。
html,
body {
width: 100%;
height: 100%;
}
#container {
display: flex;
height: 100%;
background-color: blue;
}
.block {
flex: 1;
}
#left {
background-color: green;
}
#center {
display: flex;
flex: 1;
flex-wrap: wrap;
align-content: flex-start; /* NEW */
}
#right {
background-color: orange;
}
.flexContainer {
flex: 1;
width: 50%;
min-width: 100px;
max-width: 50%;
height: 150px;
background-color: red;
padding: 10px;
}
.flexDiv {
width: 100%;
height: 100%;
background-color: yellow;
}
<div id="container">
<div id="left" class="block">Left</div>
<div id="center" class="block">
<div class="flexContainer">
<div class="flexDiv"></div>
</div>
<div class="flexContainer">
<div class="flexDiv"></div>
</div>
</div>
<div id="right" class="block">Right</div>
</div>
参考:
8.4。 包装伸缩线:
align-content
属性
align-content
当横轴上有多余的空间时,此属性会在Flex容器内将Flex容器的线justify- content
对齐,类似于在主轴内对齐单个项目的方式。注意,此属性对单行flex容器无效。
该属性接受六个值。stretch
是默认值。
stretch
线拉伸以占据剩余空间。如果剩余的自由空间为负,则此值等于
flex-start
。否则,自由空间会在所有线之间平均分配,从而增加其交叉尺寸。
其余值为:flex-start
/ flex-end
/ center
/ space-between
/space-around
问题内容: 我正在尝试制作多个具有相同高度的正方形行(每行3个)。 我为此编写了一些HTML和CSS,但所有框都在同一行上。 这是我到目前为止的内容: 当我用此页面加载页面时,所有框都出现了,但是它们都在一行上,超过了父div的100%宽度。 任何帮助深表感谢。 问题答案: flex容器的初始设置为 。 这意味着,当您创建一个伸缩容器(通过应用元素或将其应用于元素)时,所有子元素(“伸缩项”)都限
如何在项目之间添加空格?有办法吗? 在这个图像上,白色是背景,黄色是JList的自定义,我希望每个项目都有一个像5像素的空间。 http://img819.imageshack.us/img819/5772/spacemd.png
我正在尝试设计一个菜单项列表,它有四个选项,其中三个选项始终存在: 项目 价格 置顶 订购按钮 我想不出如何始终确保Order按钮固定在列表的末尾,以便为缺少的选项分配空间 null null
我指的是通过以下途径创建时:(Ctrl+Shift+P➡新flutter项目)
问题内容: 在Python中,命名空间包可让您在多个项目中传播Python代码。当您要将相关的库作为单独的下载发布时,这很有用。例如,目录和中, 最终用户可以和。 定义名称空间包的最佳方法是什么,以便多个Python产品可以在该名称空间中定义模块? 问题答案: TL; DR: 在Python 3.3上,您无需执行任何操作,只需将任何内容都不放在名称空间包目录中即可使用。在3.3之前的版本中,请选择
问题内容: 我有对象,我需要将其传递给许多页面以将数据存储在单个项目中 喜欢我的项目是 现在,这三个描述位于三个单独的页面中。我想做些像 现在这对 但我想要类似的东西 问题答案: 没问题。以下是你的代码的正确版本: