Html CSS';最小宽度';增加大于值的表格单元格的宽度

Html CSS';最小宽度';增加大于值的表格单元格的宽度,html,css,google-chrome,Html,Css,Google Chrome,我觉得我错过了什么。我将设置为宽度:100%*:第n个子项(1)”).toggleClass(“最小宽度测试”) }); $(“#b2”)。单击(函数(){ $(“表tr>*:第n个子项(1)”).toggleClass(“最小宽度测试固定”) }); 表格{ 宽度:100%; } 桌子 表*{ 边框:1px纯黑; } .最小宽度试验:之后{ 内容:''; 宽度:50px; 高度:1px; 背景:红色; 显示:块; } .固定的最小宽度测试:之后{ 内容:''; 宽度:50px; 右边距:-50

我觉得我错过了什么。我将
设置为
宽度:100%
我的问题是,应用了min width的列变得更宽,即使它已经比min width值宽

问题示例:我应用
最小宽度:50pxtd
元素,
td
的宽度增加到167px。我希望应用
最小宽度:50px到渲染宽度为123px的元素,以不更改元素宽度

通过运行以下代码并执行以下步骤,可以重现我的问题:

  • 检查表格第一列的宽度
  • 验证列的宽度是否大于50px
  • 如果第一列的宽度小于50px,请增加浏览器窗口的宽度
  • 当第一列的显示宽度大于50px时,单击表格下方的按钮
  • 第一列的宽度应增加,尽管不小于最小宽度值
  • 注意:单击该按钮将切换应用于表格单元格(th和td元素)的类,这些单元格构成表格的第一列。该类应用<代码>最小宽度:50px

    任何不影响计算宽度大于50px且样式属性
    width:auto的表格单元格(th或td)的计算宽度的解决方案都将认为解决了此问题设置时
    最小宽度:50px

    我使用的是谷歌Chrome 46.0.2490.80M版

    如有任何帮助/见解,将不胜感激。多谢各位

    $(“按钮”)。单击(函数(){
    $(“表tr>*:第n个子项(1)”).toggleClass(“最小宽度测试”)
    });
    
    表格{
    宽度:100%;
    }
    桌子
    表*{
    边框:1px纯黑;
    }
    .最小宽度试验{
    最小宽度:50px;
    }
    
    弗斯特
    第二
    第三
    第四
    1.
    2.
    3.
    4.
    A.
    B
    C
    D
    
    在第一列上切换最小宽度
    CSS没有规定表、内联表、表单元格等如何处理
    min width
    max width
    。您看到的行为是Chrome如何任意处理它

    在CSS 2.1中,“最小宽度”和“最大宽度”对表、内联表、表单元格、表列和列组的影响未定义


    这在以后的任何规范中都没有改变。

    正如马特在评论中提到的,添加
    最小宽度将增加列的大小。表格会根据其内容自动调整大小,添加最小宽度50将使其增加50

    我复制了你的代码,让你可以想象发生了什么。添加一个最小宽度为50px的元素就像在其中添加一个宽度为50的不可见元素(我很方便地将其设置为不可见并涂成红色)。如果你想抵消这一点,试着去掉一些边距或填充物(尽管这可能会破坏你的设计——看不清你在做什么就说不出来)。按“切换第一列上的修复”按钮,看看我的意思

    $(“按钮”)。单击(函数(){
    $(“表tr>*:第n个子项(1)”).toggleClass(“最小宽度测试”)
    });
    $(“#b2”)。单击(函数(){
    $(“表tr>*:第n个子项(1)”).toggleClass(“最小宽度测试固定”)
    });
    
    表格{
    宽度:100%;
    }
    桌子
    表*{
    边框:1px纯黑;
    }
    .最小宽度试验:之后{
    内容:'';
    宽度:50px;
    高度:1px;
    背景:红色;
    显示:块;
    }
    .固定的最小宽度测试:之后{
    内容:'';
    宽度:50px;
    右边距:-50px;
    高度:1px;
    背景:绿色;
    显示:块;
    }
    
    弗斯特
    第二
    第三
    第四
    1.
    2.
    3.
    4.
    A.
    B
    C
    D
    在第一列上切换最小宽度
    
    首先,我注意到你的第一段很有意义,但之后我就迷路了
    min width
    的意思是“不要使此宽度小于此宽度”,但它变大时会遇到问题吗?你的意思是说
    最大宽度
    ?@Matt,我不是说
    最大宽度
    。我发现很难解释,但是
    minwidth
    属性正在影响元素的宽度,我认为它不应该影响这些元素。我希望
    minwidth
    属性只能防止元素小于指定值。我在示例中演示的结果表明,我的期望不是现实。那么你是说应用
    minwidth:50px
    相当于宽度为50px的伪元素?它们在功能上是等效的。在
    minwidth
    成为一件事之前,人们习惯于在
    height:0
    元素中加入一个容器的最小宽度。我担心会是这样的。你能提供一个指向你所指的规范文档的链接吗?@XionDark我更新了我的答案,引用了规范中的一句话和一个指向它的链接。