【问题标题】:Css fixed column amount regardless of children count without FlexBoxCss 固定列数量,不考虑子项计数,没有 FlexBox
【发布时间】:2019-07-06 02:15:57
【问题描述】:

基本上,我想在不使用FlexBox 的情况下复制Bootstrapcol-6(或col-x)行为。

一个 div,它的所有子元素都被配对和包装,一旦它被移除,它就会重新排列。

例如,如果我删除Child 2:

--------------------------------
| Child 1 with |               |
|  Very long   |    Child 2    |
|    Text      |               |
--------------------------------
|   Child 3    |    Child 4    |
--------------------------------

这应该发生:

--------------------------------
| Child 1 with |               |
|  Very long   |    Child 3    |
|    Text      |               |
--------------------------------
|   Child 4    |
----------------

重要的是它适用于不同高度的元素!

我不确定我可以在这里发布什么样的代码示例,我知道如何使用 FlexBox 执行此操作,但我无法使用它,因为我正在使用 PDF 创建一个不完全支持 FlexBox 的库,所以我正在尝试不同的方法,直到我复制我需要的东西。

【问题讨论】:

  • 到目前为止您尝试过什么?你也可以只使用不包含 Flexbox 的 Bootstrap 3
  • @Helenesh 很好,我尝试使用 display:table 和 display:table-cell,但这不包含元素
  • 要么将你的内部元素设置为 inline-block,要么将它们向左浮动,它们应该自然地排成一行
  • @Pete 我刚试过,但它不适用于不同高度/长度的元素
  • 如果你使用带有垂直对齐底部的内联块会这样

标签: html css twitter-bootstrap flexbox weasyprint


【解决方案1】:

我建议使用非基于 flexbox 的框架,如 bootstrap 3 或骨架。但是,如果您只想要问题中描述的内容,那么您可以使用显示内联块。

.box {
	height:50px;
	background: indianred;
	width:48%;
	display: inline-block;
}
.box1 {
	background: indianred;
}
.box2 {
	background: steelblue;
}
.box3 {
	background: coral;
}
.box4 {
	background: cadetblue;
}
<div class="box box1">BOX 1</div>
<div class="box box2">BOX 2</div>
<div class="box box3">BOX 3</div>
<div class="box box4">BOX 4</div>

<hr>

<div class="box box1">BOX 1</div>
<!-- <div class="box box2">BOX 2</div> -->
<div class="box box3">BOX 3</div>
<div class="box box4">BOX 4</div>

【讨论】:

  • 我知道我没有指定这个,但是如果一个框的文本很长,这不起作用
猜你喜欢
  • 1970-01-01
  • 2017-05-26
  • 2013-10-01
  • 2018-03-16
  • 2018-09-07
  • 2020-04-21
  • 2019-01-08
  • 2020-10-18
  • 2011-01-24
相关资源
最近更新 更多