CSS在使用float:left时去掉了额外的间距;
我有一堆内容灵活的红色方块CSS在使用float:left时去掉了额外的间距;,css,css-float,Css,Css Float,我有一堆内容灵活的红色方块 <div class="block"> lorem ipsum. lorem ipsum. lorem ipsum. lorem ipsum. lorem ipsum. lorem ipsum. lorem ipsum. </div> 有人知道如何去掉这个额外的间隔吗 我不想将它们放入单独的父元素中,因为如果我这样做,每次调整屏幕大小时,我都必须更改元素的父元素 提前感谢, David通过使父级显示:flex,可以让元素占据所有垂直空间;柔性
<div class="block">
lorem ipsum. lorem ipsum. lorem ipsum. lorem ipsum. lorem ipsum. lorem ipsum. lorem ipsum.
</div>
有人知道如何去掉这个额外的间隔吗
我不想将它们放入单独的父元素中,因为如果我这样做,每次调整屏幕大小时,我都必须更改元素的父元素
提前感谢,
David通过使父级
显示:flex,可以让元素占据所有垂直空间;柔性包装:包装代码>
如果您希望元素向上移动,以便填充创建的垂直间隙,那么仅使用CSS是不容易做到这一点的。你需要使用像这样的库
.parent{
显示器:flex;
柔性包装:包装;
}
.街区{
宽度:40%;
保证金权利:10%;
边缘顶部:10px;
边缘底部:10px;
背景:红色;
颜色:白色;
}
你好
堆栈溢出。
乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。
你好
乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。
你好
乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。
你好
乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。
你好
乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。
你好
乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。
你好
乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。
你好
乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。
你好。
世界。
乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。乱数假文。
不使用任何javascript或库的另一种方法是使用float:left代码>和<代码>浮动:右侧代码>
通过这样做,它们将向上移动,因为向右和向左浮动是相互独立的
例如,当向右浮动时,它的作用就好像左侧没有元素一样
对于左边的元素使用float:left'
,对于右边的元素使用float:right代码>
下面是一个JSFIDLE:
您可能需要更新父容器的宽度,以使图元仍位于正确的区域中
为了使每一个项目都向左浮动而不是向右浮动,我使用了cssnth child
。见下文:
.block {
...
float: left;
}
.block:nth-child(even) { /* even -> every second block */
float: right;
}
我知道这似乎是毫无意义的,你可以有两个容器——一个是右边的,一个是左边的——然后把它们都放到左边,但必须这样做的原因是,当屏幕太小时,我需要它们能够一个一个地放在另一个下面。为此,我使用了媒体查询,当屏幕变小时,我将每个元素向左浮动:
@media screen and (max-width: X px) {
.block { float: left; }
}
与我所知道的砌石
解决方案相比,此解决方案的唯一缺点是,如果纯粹出于运气,右侧的所有项目都比左侧的项目高得多,那么底部左侧将有大量额外空间。您可以在上面给出的JSFIDLE链接中看到这一点
你还需要清除右边的空格。你说的去掉额外的空格是什么意思?是否要用背景色填充空间?或者您希望项目向上移动,以便列中的文本之间没有垂直间距?我希望项目向上移动。您需要制作这两列(您说过您不想这样做),或者使用库。更新了我的答案与砌体库的例子。谢谢你的帮助!第二个选项是我想要的,但我不想使用jQuery或任何库。我通过使用float:left
和float:right
在我的情况下起作用。
@media screen and (max-width: X px) {
.block { float: left; }
}