带有主列的三列HTML表格布局 我有一个3列表,中间内容显示了主要内容。 所有三个列宽都是灵活的,但中间列宽必须优先。 有办法吗?
我建议你看看带有主列的三列HTML表格布局 我有一个3列表,中间内容显示了主要内容。 所有三个列宽都是灵活的,但中间列宽必须优先。 有办法吗?,html,css,html-table,Html,Css,Html Table,我建议你看看 这是一个流动的布局,听起来像你正在寻找的东西。我建议你看看 这是一个流动的布局,听起来像你正在寻找的东西。这似乎相对简单,所以我可能遗漏了一些东西,但考虑到以下html: html: 这项工作的关键是在表格本身上定义宽度,然后在id=“center”的td上定义宽度(表格对同一“列”中的所有单元格应用一致的宽度,对同一“行”中的单元格应用一致的高度,除非colspan或rowspan强制不同的行为). . “列”(由#left和#right定义)没有明确的宽度,这会导致浏览器为这两
这是一个流动的布局,听起来像你正在寻找的东西。我建议你看看
这是一个流动的布局,听起来像你正在寻找的东西。这似乎相对简单,所以我可能遗漏了一些东西,但考虑到以下html: html: 这项工作的关键是在
表格
本身上定义宽度
,然后在id=“center”
的td
上定义宽度(表格对同一“列”中的所有单元格应用一致的宽度,对同一“行”中的单元格应用一致的高度,除非colspan
或rowspan
强制不同的行为). .
“列”(由
#left
和#right
定义)没有明确的宽度,这会导致浏览器为这两个列指定相等的宽度,在这种情况下,宽度约为表宽度的15%。当然,您可以为“列”指定任何单位的宽度,只要总宽度符合表格本身的指定宽度(因为负数对于表格宽度无效,并且指定这样的数字将导致浏览器忽略宽度,只需使用剩余的有效宽度即可).这似乎相对简单,因此我可能遗漏了一些内容,但考虑到以下html:
html:
这项工作的关键是在表格
本身上定义宽度
,然后在id=“center”
的td
上定义宽度(表格对同一“列”中的所有单元格应用一致的宽度,对同一“行”中的单元格应用一致的高度,除非colspan
或rowspan
强制不同的行为). .
“列”(由#left
和#right
定义)没有明确的宽度,这会导致浏览器为这两个列指定相等的宽度,在这种情况下,宽度约为表宽度的15%。当然,您可以为“列”指定任何单位的宽度,只要总宽度符合表格本身的指定宽度(因为负数对于表格宽度无效,并且指定这样的数字将导致浏览器忽略宽度,只需使用剩余的有效宽度即可).
一些内容
中心内容
正确内容
一些内容
中心内容
正确内容
这似乎对我很有效。它不使用换行,强制小列扩展到超过给定的5%的范围,并将剩余空间提供给中间列。
一些内容
中心内容
正确内容
一些内容
中心内容
正确内容
这似乎对我很有效。它使用“不换行”强制小列扩展超过给定的5%,并将剩余的空间提供给中间列。如果您只是尝试更改一列,为什么不将宽度设置为您希望占用和添加的页面的百分比呢!对宽度很重要。如果你能提供你想要改变的代码,那将是非常有帮助的。如果你只是想改变一列,为什么不把宽度设置为你希望它占据和增加的页面的百分比呢!对宽度很重要。如果你能提供你想要更改的代码,那将是很有帮助的。当我将列宽设置为70%时,我发现问题是,即使其他列的内容需要更多的空间,它也会挤压其他列。是的;问题是在CSS中没有设置优先级的方法,你不能说“这个列的优先级为70%,除非这个列需要更多的优先级,这次”。你必须找到一个平衡点,或者使用JavaScript尝试实现一个更通用的解决方案。好的,谢谢。我想我会改用固定宽度的div布局,只调整不同页面的宽度。当我将列宽设置为70%时发现的问题是,它会挤压其他列,即使它们的内容需要更多的空间。是的;问题是在CSS中没有设置优先级的方法,你不能说“这个列的优先级为70%,除非这个列需要更多的优先级,这次”。你必须找到一个平衡点,或者使用JavaScript尝试实现一个更通用的解决方案。好的,谢谢。我想我会使用一个固定宽度的div布局,然后调整不同页面的宽度。
<table>
<tr>
<td id="left">Some content</td>
<td id="center">Center content</td>
<td id="right">Right content</td>
</tr>
<tr>
<td>Some content</td>
<td>Center content</td>
<td>Right content</td>
</tr>
</table>
table {
border-collapse: collapse;
width: 90%;
border: 1px solid #ccc;
}
#center {
width: 70%;
}
<table>
<tr>
<td id="left">Some content</td>
<td id="center">Center content</td>
<td id="right">Right content</td>
</tr>
<tr>
<td style="white-space: nowrap">Some content</td>
<td style="width:90%">Center content</td>
<td style="white-space: nowrap">Right content</td>
</tr>
</table>