当前位置: 首页 > 知识库问答 >
问题:

html - 如何在不设置宽度的情况下让两个table水平对齐?

梁丘伟
2024-02-24

不设置宽度的情况下,有没有办法可以让两个 table 对其

<table class="table table-bordered" style="width: 100%;">    <thead>        <tr>            <th width="1">#</th>            <th>First Name</th>            <th>Last Name</th>            <th>Username</th>        </tr>    </thead>    <tbody>        <tr>            <td>1</td>            <td>Eugene</td>            <td>Kopyov</td>            <td>@Kopyov</td>        </tr>        <tr>            <td>2</td>            <td>Victoria</td>            <td>Baker</td>            <td>@Vicky</td>        </tr>        <tr>            <td>3</td>            <td>James</td>            <td>Alexander</td>            <td>@Alex</td>        </tr>        <tr>            <td>4</td>            <td>Franklin</td>            <td>Morrison</td>            <td>@Frank</td>        </tr>    </tbody></table><table class="table table-bordered" style="width: 100%;">    <thead>        <tr>            <th width="1">Name</th>            <th>Email</th>            <th>Phone Number</th>            <th>Country</th>        </tr>    </thead>    <tbody>        <tr>            <td>John</td>            <td>john@example.com</td>            <td>(353) 01 222 3333</td>            <td>Netherlands</td>        </tr>        <tr>            <td>Mark</td>            <td>mark@gmail.com</td>            <td>(01) 22 888 4444</td>            <td>Switzerland</td>        </tr>        <tr>            <td>Eoin</td>            <td>eoin@gmail.com</td>            <td>0097 22 654 00033</td>            <td>Germany</td>        </tr>        <tr>            <td>Sarah</td>            <td>sarahcdd@gmail.com</td>            <td>+322 876 1233</td>            <td>France</td>        </tr>        <tr>            <td>Afshin</td>            <td>afshin@mail.com</td>            <td>(353) 22 87 8356</td>            <td>Norway</td>        </tr>    </tbody></table>

共有3个答案

谭高峯
2024-02-24

父元素设置 flex 布局

div {    display: flex;}
苗阳文
2024-02-24

不知道是不是因为不想给每个 td 或者 th 去设置宽度呢,我猜想可能是因为这个原因吧,毕竟每个都要设置一下是挺烦的,而且代码看着也不干净。

那么你可以试一下 <col> 这标签。https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col

如果这个标签也不想用的话,那么就试一下 css 中的选择器方式吧,比如 td:nth-child(1) {} 之类的。

不过相对而言,推荐使用 col 这个标签。

胡野
2024-02-24

你可以使用 CSS 的 flexbox 布局来使两个 table 水平对齐。以下是如何做到这一点的步骤:

  1. 将包含两个 table 的容器设置为 display: flex。这将使该容器成为 flex 容器,其子元素(即两个 table)将成为 flex 项。
  2. 使用 justify-content: space-between 属性将两个 table 水平对齐。

以下是相应的 CSS 和 HTML 代码:

<style>    .table-container {        display: flex;        justify-content: space-between;    }</style><div class="table-container">    <table class="table table-bordered" style="width: 100%;">        <!-- ... -->    </table>    <table class="table table-bordered" style="width: 100%;">        <!-- ... -->    </table></div>

这样,两个 table 将水平对齐,并且它们之间的空间分布均匀。如果你想进一步调整间距,你可以添加一个 margintable 元素上。

 类似资料:
  • 问题内容: 如果我有: 然后 会拉伸以填充该空间。我希望图像保持相同大小,但是要在DOM中占用那么多空间。我是否必须添加封装或?我讨厌添加样式标记。 问题答案: 是的,您需要一个封装div: 与类似: 其他解决方案(填充,边距)比较繁琐(因为您需要根据图像的尺寸计算正确的值),但也不能有效地使容器小于图像。 同样,上述内容可以更容易地适用于不同的布局。例如,如果您希望图像位于右下角:

  • 我想复制这家伙做的但不使用画布。我想有一个div在我的页面的中心,并简单地增加宽度/高度/边界半径10px每秒。这工作得很好,但是由于某种原因,div越大,它向右下方移动的越多。圆圈不是静止不动的,它的中心位置随着它变大而改变。如何在不改变位置的情况下更改div的宽度/高度? main.css index.html APP咖啡

  • 问题内容: 我在同一行上有两个元素向左浮动和向右浮动。 我需要element2在element1旁边对齐,并在两者之间填充约10个像素。问题在于element2的宽度可以根据内容和浏览器(字体大小等)而变化,因此它并不总是与element1完美对齐(我不能仅仅应用右移边距并将其移到上方)。 我也无法更改标记。 是否有统一的方法将它们排列在一起?我尝试以一定的百分比对边距进行右对齐,对element

  • 问题内容: 我需要将两个div彼此对齐,以便每个都包含一个标题和一个项目列表,类似于: 使用表非常容易,但是我不想使用表。我该如何实现? 问题答案: 将div浮动到父容器中,并设置其样式如下:

  • 本文向大家介绍如何在HTML中设置表格宽度?,包括了如何在HTML中设置表格宽度?的使用技巧和注意事项,需要的朋友参考一下 要设置HTML中的表格宽度,请使用style属性。style属性指定元素的内联样式。该属性与HTML <table>标记一起使用,具有CSS属性的宽度。HTML5不支持<table>的width属性,因此CSS属性width与style属性一起用于设置表宽度。 请记住,样式属

  • 我想让水平进度条从0移动到100。我在布局中添加了这段代码。我应该怎么做才能移动这个进度条?