Css 使用div显示网格

Css 使用div显示网格,css,html,Css,Html,我正在尝试练习一些CSS/HTML,我列出了使用divs在表中应该做什么 我遇到的问题是,当我设置边距时,文本没有正确地排列成列,因为某些文本比其他文本长,因此会导致表格参差不齐 e、 g 因此,每个部分之间的间距是正确的,即20px,但由于文本长度不同,因此看起来没有对齐 这里有什么问题?有解决办法吗 (我知道一个表格会使它更容易,但我想学习div的方法)您可能没有为它们指定固定的宽度,这导致它们只是自动调整大小。表格将自动使列中的每个单元格具有相同的宽度,但不能使用s来完成,您需要设置固定的

我正在尝试练习一些CSS/HTML,我列出了使用divs在表中应该做什么

我遇到的问题是,当我设置边距时,文本没有正确地排列成列,因为某些文本比其他文本长,因此会导致表格参差不齐

e、 g

因此,每个部分之间的间距是正确的,即20px,但由于文本长度不同,因此看起来没有对齐

这里有什么问题?有解决办法吗
(我知道一个表格会使它更容易,但我想学习div的方法)

您可能没有为它们指定固定的宽度,这导致它们只是自动调整大小。表格将自动使列中的每个单元格具有相同的宽度,但不能使用s来完成,您需要设置固定的宽度。

您可能没有为它们指定固定的宽度,导致它们只是自动调整大小。表将自动使列中的每个单元格具有相同的宽度,但不能使用s来完成,您需要设置固定的宽度。

如何使div彼此相邻排列,即模拟行?如果您使用的是浮动,例如
float:left
,则您所经历的效果通常称为收缩包装。在收缩包装的
div
中,div的宽度将自动对应于内容的长度

唯一的纯html/css方法是显式设置
div的
width
属性。您需要将列中的每个
div
设置为相同的显式宽度。为了使其有效,您需要了解内容的长度,并将
宽度设置为至少相同的宽度


如果您想让列中的每个
div
动态地从内容最长的
div
继承一个宽度,则必须使用javascript。

如何让div彼此相邻排列,即模拟行?如果您使用的是浮动,例如
float:left
,则您所经历的效果通常称为收缩包装。在收缩包装的
div
中,div的宽度将自动对应于内容的长度

唯一的纯html/css方法是显式设置
div的
width
属性。您需要将列中的每个
div
设置为相同的显式宽度。为了使其有效,您需要了解内容的长度,并将
宽度设置为至少相同的宽度


如果您想让列中的每个
div
动态地从内容最长的
div
继承一个宽度,则必须使用javascript。

您可以使每个列成为自己的div。例如:

<div class="col1">
    <p>123</p>
    <p>123</p>
    <p>123</p>
    <p>123</p>
</div>
<div class="col1">
    <p>hello</p>
    <p>asdfasdfasdf</p>
    <p>hello</p>
    <p>asdfasdfasdf</p>
</div>
<div class="col1">
    <p>cooool</p>
    <p>cooool</p>
    <p>cooool</p>
    <p>cooool</p>
</div>
但这只会导致痛苦和痛苦

我不知道你为什么要这样做;也许你听说过“桌子错了”,但这是不完整的。整个短语都是“表格布局错误”


将表格用于表格数据,如下图所示。

您可以使每列都有自己的div。例如:

<div class="col1">
    <p>123</p>
    <p>123</p>
    <p>123</p>
    <p>123</p>
</div>
<div class="col1">
    <p>hello</p>
    <p>asdfasdfasdf</p>
    <p>hello</p>
    <p>asdfasdfasdf</p>
</div>
<div class="col1">
    <p>cooool</p>
    <p>cooool</p>
    <p>cooool</p>
    <p>cooool</p>
</div>
但这只会导致痛苦和痛苦

我不知道你为什么要这样做;也许你听说过“桌子错了”,但这是不完整的。整个短语都是“表格布局错误”


将表格用于表格数据,如下所示。

它不是表格与divs之比,而是表格与语义标记之比。如果你只是用div替换所有的表元素,你就失去了整个事情的要点


同样在您的示例中,您将使用一个表

它不是一个表与divs的对比,它应该是一个表与语义标记的对比。如果你只是用div替换所有的表元素,你就失去了整个事情的要点


同样在您的示例中,您将使用一个表

div方法是使用表。表格数据放在表格中,没有理由使用div来表示它们的含义。@Tordek我的意思是——表格的“问题”在于它们被滥用用于布局(尽管只考虑到CSS3模板布局模块实际上是为正确处理布局而设计的…)。然而,如果它是表格数据,那么它就是表格数据。这既有语义,又有视觉效果,很可能是使用表的合适场景。表格数据放在表格中,没有理由使用div来表示它们的含义。@Tordek我的意思是——表格的“问题”在于它们被滥用用于布局(尽管只考虑到CSS3模板布局模块实际上是为正确处理布局而设计的…)。然而,如果它是表格数据,那么它就是表格数据。这既有语义,又有视觉效果,很可能是使用表的合适场景。
.col1 {
    float: left;
}