css - CSS 中的 2 列布局(订购元素)

标签 css layout

有什么方法可以只使用 css 来显示 2 列布局吗? (column1 类应该在第一列,column2 类应该在第二列)

<div class="container">
    <div class="column1">1a</div>
    <div class="column2">1b</div>
    <div class="column2">2b<br>zz</div>
    <div class="column1">2a</div>
    <div class="column2">3b</div>
    <div class="column2">4b</div>
    <div class="column2">5b</div>
    <div class="column1">3a</div>
    <div class="column1">4a</div>
</div>

我期望的结果:

1a 1b
2a 2b
3a zz
4a 3b
   4b
   5b

最佳答案

如果您管理 Block formatting context

float 似乎是这里的最佳选择

例子:

* {
  box-sizing: border-box;
}

div div {
  box-shadow: inset 0 0 0 1px;/* see me */
  width: 50%;
  line-height: 1.4em; /* because of that 2 lines element , to hide the gap */
  background: lightblue;/* see me too */
}

.column1:first-child {
  float: left; /* let another float stand aside */
}

.column2 {
  float: right;
  clear: right;/* pile us to the far right */
}

div div:nth-child(odd) {
  background: lightgreen;/* see me different */
}
<div class="container">
  <div class="column1">1a</div>
  <div class="column2">1b</div>
  <div class="column2">2b<br>zz</div>
  <div class="column1">2a</div>
  <div class="column2">3b</div>
  <div class="column2">4b</div>
  <div class="column2">5b</div>
  <div class="column1">3a</div>
  <div class="column1">4a</div>
</div>

它符合您在这里的预期布局,但它是否也包含真实内容?

关于css - CSS 中的 2 列布局(订购元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59364032/

相关文章:

ruby-on-rails - Rails点击div上传图片

javascript - 筛选多个类别的产品

android - android什么时候开始布局?

java - 如何扩展 JavaFX 分页导航以显示附加控件?

css - 为什么我的图像没有正确排列?

javascript - 在 Javascript 中设置绝对位置不起作用

javascript - 关闭 Bootstrap 模式将调整我的页面大小

asp.net - CSS 重写困境

html - CSS 3 列布局在大屏幕宽度下折叠

html - CSS伪元素 block 引用