【发布时间】:2020-11-22 19:26:53
【问题描述】:
我想在一个 A4 (21x29.7cm) 文档的视图中将一堆 div 分成两列。第 1 列已满时必须使用第 2 列,这是一个重要要求。
我试图达到的结果必须如下所示:
还有这个:
我已经在 W3C here 上使用 column-count css 属性进行了测试
<!DOCTYPE html>
<html>
<head>
<style>
.newspaper {
column-count: 2;
}
</style>
</head>
<body>
<h1>The column-count Property</h1>
<p>The column-count property defines the number of columns an element is divided into:</p>
<div class="newspaper">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius.
</div>
</body>
</html>
但是这种方法不允许我设置列宽和堆栈。
提醒:重要的是我只使用一个div来堆叠内容,如果它在页面/div的末尾,那么写在第二列=>它必须堆叠
我也尝试过使用 flex 的以下结构,因为我的要求是堆叠 div 并分成两列,第二列必须在左侧已满时使用。
.container {
display: flex;
flex-wrap: wrap;
flex-direction: column;
align-content: flex-start;
border: dotted 1px #f00;
height: 7rem;
overflow: hidden;
}
.item {
width: 50%;
height: 1rem;
border: dotted 1px #0f0;
}
<div class="container">
<div class="item">a</div>
<div class="item">b</div>
<div class="item">c</div>
<div class="item">d</div>
<div class="item">e</div>
<div class="item">f</div>
<div class="item">g</div>
<div class="item">h</div>
<div class="item">i</div>
<div class="item">j</div>
<div class="item">k</div>
<div class="item">l</div>
<div class="item">m</div>
<div class="item">n</div>
</div>
我可以改变结构,但它必须是一个堆栈,我也可以涉及一些 JavaScript。
为了示例而设置了高度,但是,只有
div.container将具有固定高度。
例如:
- 这不好:https://jsfiddle.net/ohqb9p71/
- 这几乎是好的,除了我不能设置列宽:https://jsfiddle.net/ThePendulum/8wnhyvx7/
我想向div 添加内容并填充左栏,更多内容应该放在右栏。
- 如何使用 HTML/CSS 或 JS 使左列 30% 和右列 70%?
- 如果不使用
column-*或flexcss 属性,我怎样才能使<div>堆叠成两列?
【问题讨论】:
标签: html css multiple-columns