【问题标题】:Min-width and max-height for table attributes表格属性的最小宽度和最大高度
【发布时间】:2011-09-19 14:03:01
【问题描述】:

我有一张表,我想定义min-widthmax-height 属性。请参见下面的示例。

我现在的问题是浏览器不接受它。如果我在td 上定义它,它会被忽略,如果我在td 元素内的div 元素中定义它,则内容具有正确的最小和最大宽度,但表格仍然具有相同的大小。 (所以有很多可用空间:/)

我该如何解决这个问题?

编辑: 我刚刚注意到问题似乎只在表格处于全屏模式时才会出现。尽管如此,一个元素的最大宽度不应超过!

例子:

<html>
<head>
    <style type="text/css">
        td {
            border: 1px solid black;
        }

        html,body,.fullheight {
            height: 100%;
            width: 100%;
        }
        .minfield {
            max-width: 10px;
            border: 1px solid red;
            overflow: hidden;
        }
    </style>    
</head>

<body>
    <table class="fullheight">
        <tr>
            <td class="minfield">
                <div class="minfield">
                    <p>hallo</p>
                </div>
            </td>
            <td><p>welt</p></td>
        </tr>
    </table>
</body>
</html>

【问题讨论】:

    标签: html css html-table


    【解决方案1】:

    对于表格单元格,应使用“宽度”属性,因为表格单元格的“最小宽度”和“最大宽度”未定义。见specification

    “在 CSS 2.1 中,'min-width' 和 'max-width' 对表格、内联表格、表格单元格、表格列和列组的影响是未定义的。”

    要强制宽度,您可以尝试将table-layout 属性更改为“固定”。该规范非常清楚地描述了该算法。

    【讨论】:

    • 谢谢:/我猜...简单的任务,但用 CSS 是不可能的 :(,也许有人发布了解决方案 :)
    • 为什么你认为 CSS 不可能?如果我在您的代码中将“最小宽度”更改为“宽度”,则第一列很薄,第二列很宽。什么在你的情况下不起作用?请注意,“宽度”应该应用于“td”,而“最大宽度”仍然与“div”完全正确。
    • 告诉我们您希望它如何工作,我相信会找到解决方案。也许提供更多细节或示例,说明您希望渲染的外观如何。
    • 我有一个布局,占屏幕宽度的 1/3,最小宽度为 500,最大宽度为 700。除此之外,还有另一个项目占用了屏幕的其余部分屏幕。如果我只分配 66% 的宽度,只要其他项目的高度不采用最大值之一,它就可以正常工作,此时会发生溢出或项目只是让空间离开。 (但是这个 acutall 已经与原来的问题无关了,因为最小、最大宽度的问题已经被 div 解决了!)
    【解决方案2】:

    要强制 td 的 min-height 属性,您还可以将不可见的图像放入 td,或者将您的 td 包装到 div 中。 第一种情况的示例:

    <td><img style="float:left;min-height:50px;visibility:hidden;width:0px;">12345</td>
    

    【讨论】:

    • 这是唯一对我有用的东西,让可变宽度表中的单元格尊重最小宽度值。非常感谢。
    猜你喜欢
    • 2013-09-23
    • 2023-03-23
    • 1970-01-01
    • 2017-12-08
    • 2012-11-13
    • 2023-03-29
    • 2013-01-12
    • 2014-02-27
    • 1970-01-01
    相关资源
    最近更新 更多