Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有主列的三列HTML表格布局 我有一个3列表,中间内容显示了主要内容。 所有三个列宽都是灵活的,但中间列宽必须优先。 有办法吗?_Html_Css_Html Table - Fatal编程技术网

带有主列的三列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>