css - 文本的 HTML 流体多列布局(报纸)

标签 css

有没有什么 CSS 技术或好的 js 技术来布局内容,让你有一个像“报纸”一样的页面。给定一个包含一堆内容的 div(或其他),将该内容拆分为 N 列,总宽度为一些预定义的宽度。

假设 N = 3,假设我的内容排序为 A -> Q 将以下列方式呈现数据:

 A  G  M
 B  H  N
 C  I  O
 D  J  P
 E  K  Q
 F  L  

有什么想法吗?我不想在呈现 3 个 div 之前拆分服务器上的数据,这样我就不需要真正计算数据的呈现方式。然而,这是可能发生的最后手段。

最佳答案

我知道现在回答 Dmitriy 有点晚了,但是对于任何路过这个问题的人来说,这里有一个来自金融时报的 github 元素,它会为你做这个: FT列流: https://github.com/ftlabs/ftcolumnflow 以下是该元素的功能列表:

  • 可配置的列宽、间距和边距
  • 固定位置元素
  • 元素跨列
  • Keep-with-next 以避免标题位于列的底部
  • 无包装类以避免跨列拆分元素
  • 将列分组到页面中
  • 页面的水平或垂直对齐方式
  • 标准化行高,使文本基线与网格对齐
  • 根据设备方向或字体大小更改等事件的需要快速重排

关于css - 文本的 HTML 流体多列布局(报纸),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5798457/

相关文章:

javascript - 当滚动条到达特定位置时动画 div

html - 使用 html、css 切换每个 div 标签的可见性的最简单幻灯片

html - 填充剩余空间(CSS)

css - 将网格中的列推到底部,垂直对齐不起作用

css - 容器 : WebKit vs Firefox 中文本的垂直对齐方式

html - 顶部图像溢出?

css - 如何覆盖继承的尺寸?

html - <h*> 元素的宽度始终为 100%

jquery - 如果我有 3 个 <tr> 元素,我如何在任何一次单击时只允许突出显示一个? - CSS,jQuery

javascript - 在 Ionic 的自定义按钮上实现 Css 和 Js 功能