html - 如何防止列包含在 HTML 中?
问题描述
我正在尝试对类似于这张图片中的输出的单元格进行布局:
但是我需要做很多行,并且我希望列具有特定的大小,并且如果超过屏幕的大小,则不要包裹到另一行。例如,假设我有 10 列,每列 200 像素。如果屏幕上无法容纳的列太多,我想要水平滚动,而不是包裹其他列。我的代码类似于(当我第一次尝试使用表格时,我从 W3Schools.com 网站上获得了它):
.column {
float: left;
width: 100px;
padding: 10px;
}
.row:after {
content: "";
display: table;
clear: both;
}
<div class="row">
<div class="column" style="background-color:#aaa;">
<h2>Column 1</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Column 2</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#aaa;">
<h2>Column 3</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Column 4</h2>
<p>Some text..</p>
</div>
</div>
<div class="row">
<div class="column" style="background-color:#bbb;">
<h2>Column 1</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#aaa;">
<h2>Column 2</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Column 3</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#aaa;">
<h2>Column 4</h2>
<p>Some text..</p>
</div>
</div>
只要没有足够的列超过屏幕的大小,这效果很好,但我需要它比屏幕宽(无论是那个还是我的最终实现最终都会将一堆列设置为 2% 宽度屏幕会小得离谱)。
我尝试过使用“溢出:滚动;” 和“显示:内联;” 但我没有任何成功。
作为参考,原始项目如下所示:
而且编码都是直接输入正文,阅读和编辑非常困难。
<FONT COLOR=CYAN>Star type in angle brackets, < >, means the Star is in The Rift</FONT>
+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+
| | | | | | | | | | | | | Fuoss | | | | | | Piceance | | | | Kimberlite | | | | | | | | | |
| | <FONT COLOR=MAGENTA>M</FONT> | | | | | | | | <FONT COLOR="#0000FF">H</FONT> | | <FONT COLOR=WHITE>N</FONT> | <FONT COLOR=WHITE>N</FONT> | | | <FONT COLOR=MAGENTA>M</FONT> | | | <FONT COLOR=MAGENTA>M</FONT> | <FONT COLOR=RED>R</FONT> | | <FONT COLOR="#00FF00">A</FONT> | <FONT COLOR=MAGENTA>M</FONT> | | | <FONT COLOR=YELLOW>X</FONT> | | | | | | |
| | DowChem | | | | | | | | Hewlett-Packard | Erin | | | | Elkhorn | | | | New Jerusalem | Lyra | | | | Morgan | | | | | | |
+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------
解决方案
您可以将 div 包装在具有以下属性的容器中:
.container {
width: max-content;
overflow: auto;
}
然后 div 的宽度与它需要的一样宽 ( max-content
) 并且如果您的列数多于视口的宽度,则应该滚动。
.column {
float: left;
width: 100px;
padding: 10px;
}
.row {
content: "";
display: table;
clear: both;
}
.container {
width: max-content;
overflow: auto;
}
<div class="container">
<div class="row">
<div class="column" style="background-color:#bbb;">
<h2>Column 1</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#aaa;">
<h2>Column 2</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Column 3</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#aaa;">
<h2>Column 4</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Column 1</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#aaa;">
<h2>Column 2</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Column 3</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#aaa;">
<h2>Column 4</h2>
<p>Some text..</p>
</div>
</div>
<div class="row">
<div class="column" style="background-color:#bbb;">
<h2>Column 1</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#aaa;">
<h2>Column 2</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Column 3</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#aaa;">
<h2>Column 4</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Column 1</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#aaa;">
<h2>Column 2</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Column 3</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#aaa;">
<h2>Column 4</h2>
<p>Some text..</p>
</div>
</div>
</div>
添加了代码段,因此您可以检查这是否是您需要的。
推荐阅读
- vba - MS Access 中的 ASC/DESC 排序
- resolve - getent 主机无法解析主机名
- flutter - 包从颤振智能手表接收心率数据
- javascript - 在 JavaScript 中更新对象属性的更短方法?
- xamarin.forms - 如何在 xamarin 表单中更改搜索栏搜索图标的颜色和取消按钮颜色
- ruby-on-rails - Rails RSS Feed 未呈现为 XML
- python - Pyspark Luigi 多个工人问题
- python - 检测数据框中的特定字符
- python - Binance 期货测试网上的空头订单导致 APIError(ReduceOnly 订单被拒绝)
- python - 无法单击 xpath 选定对象 Selenium (Python)