【发布时间】:2021-06-11 04:55:01
【问题描述】:
全新的 HTML/CSS 和实验。
我试图在两条 hr 标记行之间放置一个表格(一个在顶部,一个在底部)。我想让表格的宽度与线条的宽度相匹配,将页面上的所有内容水平居中,并具有粘性定位。
发生的情况是,线条遵循我设置的宽度,居中,并具有我想要的定位。表格有定位,但没有宽度,并且与线条左对齐(不与页面或任何东西对齐)。
<div style="width:100%; max-width: 800px; margin:auto; position:sticky; top:0px; ">
<hr>
<table style="border:1px solid black; background-color:Coral">
<tr>
<th><u>Section 1</u></th>
<th><u>Section 2</u></th>
<th><u>Section 3</u></th>
<th><u>Section 4</u></th>
<th><u>Section 5</u></th>
<th><u>Section 6</u></th>
</tr>
<tr style="text-align:center">
<td><a href="S1WordFormatting.html">Word<br/>Formatting</a></td>
<td><a href="S2Lists.html">Lists</a></td>
<td><a href="S3Tables.html">Tables</a></td>
<td><a href="S4ImagesandVideos.html">Images and<br/>Videos</a></td>
<td><a href="S5Linking.html">Linking</a></td>
<td><a href="S6InputTypes.html">Input Types<br/>(Text Boxes)</a></td>
</tr>
</table>
<hr>
</div>
为什么表格会从 div 中获取定位,而不是宽度或边距?另外,为什么它会与线条左对齐?
我知道我可以通过将宽度和边距添加到 table 标签来解决这个问题,但是它可以在 div 标签中修复吗?还是我误解/遗漏了关于 div 标签如何工作的一些东西?我认为它会将任何样式应用于标签之间的任何元素。
非常感谢您的帮助!
【问题讨论】:
-
为什么首先在元素的结尾和开头使用
<hr>标签。这就是你有边界顶部和底部的东西。<hr>用于将 2 个元素分开,例如在 2 个段落之间。不标记元素的顶部或底部。 -
margin是元素外部的空间。内部空间称为padding。因此,表格不受 div 的边距影响,因为表格在 div 内部而不是在外部。表格的宽度比 div 小。除非受到限制,否则 div 将占用 100% 的文档空间。除非发生溢出,否则该表将占用 div 空间的 100%。如果表格的内容更小,那么它当然不会占用整个可用空间,而只会占用所需的空间。 -
除此之外没有任何问题,您不应该使用表格来进行样式设置。对于像你这样的布局,你有 flexboxes 和 css-grid。
-
主要用于测试目的。在学习过程中,试图了解所有这些事情是如何工作的,以及改变参数的作用。从字面上看,我才几天就开始学习 HTML/CSS 哈哈。
标签: html css html-table alignment