【发布时间】:2020-09-18 12:47:11
【问题描述】:
所以我尝试创建一个具有多个 li 条目的 ul。 li 中的这些单词条目应该显示在列中,但是我希望这些列是动态的, 这意味着较长的单词创建更少的列,而较短的单词创建更多的列。 该页面应该以 DINA4 格式显示。 我已经尝试使用 Flexbox 和 Grid,但是只有在我定义固定数量的列时才有效,因此它不是动态的。
如果可能,我想避免使用 javaScript,因为页面应该仅由 CS 和 HTML 组成。 Short words with more columns Longs words with fewer columns
使用网格自动填充,我得到以下结果: Result with long words
我的代码:
ul.words-o {
margin-top: 0;
margin-bottom: 1em;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 0 20px;
}
【问题讨论】:
-
你有什么代码可以分享来展示你做了什么,出了什么问题吗?网格和自动填充应该做 .css-tricks.com/snippets/css/complete-guide-grid -/- gridbyexample.com/examples/example37
-
我已经尝试过使用自动填充
ul.words-o { margin-top: 0; margin-bottom: 1em; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 20px; }但我得到了自动填充相同的结果 -
200px 对于一个单词来说非常安静。
-
200px 对于某些单词来说是不够的,所以它们重叠了我在我的帖子中上传了一张结果的图片,我忘了说,结果必须是 DINA4 格式跨度>
-
哦,是的,忘了他的行为,你可能需要javascript来更新那个最小值,这是一个想法codepen.io/gc-nomade/pen/YzXoQyO来适应网格模板
标签: html css html-lists dynamic-columns