CSS属性Box-Sizing对Box模型没有影响

时间:2011-09-26 11:58:18

标签: html firefox css3 css

发布了这个问题,它让我思考。

table cell fixed height and border issue in firefox

所以我做了如下。

HTML:

<!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="utf-8" />
            <title>Template</title>
            <link rel="stylesheet" href="styles.css" />
        </head>
        <body>

            <table id="first" cellpadding="0" cellspacing="0">
                <tbody>
                    <tr>
                        <td>Cell 1</td>
                        <td>Cell 2</td>
                        <td>Cell 3</td>
                        <td>Cell 4</td>
                        <td>Cell 5</td>
                    </tr>
                </tbody>
            </table>

            <table id="second" cellpadding="0" cellspacing="0">
                <tbody>
                    <tr>
                        <td>Cell 1</td>
                        <td>Cell 2</td>
                        <td>Cell 3</td>
                        <td>Cell 4</td>
                        <td>Cell 5</td>
                    </tr>
                </tbody>
            </table>

            <table id="third" cellpadding="0" cellspacing="0">
                <tbody>
                    <tr>
                        <td>Cell 1</td>
                        <td>Cell 2</td>
                        <td>Cell 3</td>
                        <td>Cell 4</td>
                        <td>Cell 5</td>
                    </tr>
                </tbody>
            </table>

        </body>
    </html>

使用以下CSS:

* {
    padding: 0;
    margin: 0;
    font: 15px arial, sans-serif;
    line-height: 1;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    float: left;
    margin-left: 5px;
}
table#first tbody tr td { 
    height: 35px; 
    border-bottom: 5px solid #000;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
} 
table#second tbody tr td { 
    height: 35px; 
    border-bottom: 5px solid #000;
    box-sizing: content-box;
    -moz-box-sizing: content-box;
} 
table#third tbody tr td { 
    height: 35px; 
    border-bottom: 5px solid #000;
    box-sizing: padding-box;
    -moz-box-sizing: padding-box;
} 

问题在于,无论使用border-box(点击图片),content-box(点击图片)和padding-box(点击图片)的框大小调整属性,在Firefox 6.0.2中,在Firebug 1.8.2下,布局选项卡以及计算高度显示所有<td>的高度为32px,边框为3px。

要么出错了,要么我遗漏了一些简单的东西,或者我对盒子模型的概念是错误的?

也可以有人为“box-sizing”和“padding-box”创建标签

1 个答案:

答案 0 :(得分:2)

这是Firefox实施box-sizing的一个已知问题。 The MDN page for box-sizing说:

  

注释

     

请参阅bug 243412及其家属:

     
      
  • -moz-box-sizing不适用于表格单元格
  •