css - 与 Chrome/Firefox 相比,IE 中的表格单元格已移动

标签 css google-chrome internet-explorer html-table

我在 IE 中的表格方面遇到一些问题。 有趣的是,只有一些表选择这样做,但尽管如此,我不明白为什么。 真的,这并不是说它破坏了布局或其他什么,但我仍然想知道它为什么这样做。 我附上了一张图片,以便您明白我的意思:

enter image description here

上面是Chrome/Firefox,下面是IE。 我知道表格等在不同的浏览器中有点不同,但通常差异是几个像素左右。 我已经使用了我能找到的所有重置 CSS 方法,因此每个浏览器中的所有内容都应该是相同的。

表格的构成如下:

<table class="AdminAccess">
            <tr>
                <td>********</td>
                <td><img alt="" height="16" src="../images/edit.png" width="16"></td>
                <td><a href="admins_edit.html">Edit</a></td>
                <td><img alt="" height="16" src="../images/mail.png" width="16"></td>
                <td><a href="#">Send new password</a></td>
                <td><img alt="" height="16" src="../images/delete.png" width="16"></td>
                <td><a href="#">Delete</a></td>
            </tr>
            <tr>
                <td>********</td>
                <td><img alt="" height="16" src="../images/edit.png" width="16"></td>
                <td><a href="admins_edit.html">Edit</a></td>
                <td><img alt="" height="16" src="../images/mail.png" width="16"></td>
                <td><a href="#">Send new password</a></td>
                <td><img alt="" height="16" src="../images/delete.png" width="16"></td>
                <td><a href="#">Delete</a></td>
            </tr>
            <tr>
                <td>********</td>
                <td><img alt="" height="16" src="../images/edit.png" width="16"></td>
                <td><a href="admins_edit.html">Edit</a></td>
                <td><img alt="" height="16" src="../images/mail.png" width="16"></td>
                <td><a href="#">Send new password</a></td>
                <td><img alt="" height="16" src="../images/delete.png" width="16"></td>
                <td><a href="#">Delete</a></td>
            </tr>
            <tr>
                <td>********</td>
                <td><img alt="" height="16" src="../images/edit.png" width="16"></td>
                <td><a href="admins_edit.html">Edit</a></td>
                <td><img alt="" height="16" src="../images/mail.png" width="16"></td>
                <td><a href="#">Send new password</a></td>
                <td><img alt="" height="16" src="../images/delete.png" width="16"></td>
                <td><a href="#">Delete</a></td>
            </tr>
        </table>

表格本身的宽度为 70%,并且类 AdminAccess 具有以下 CSS:

table.AdminAccess tr td:nth-child(1) {width:48%;}
table.AdminAccess tr td:nth-child(2) {width:3%; padding:4px 0px 0px 0px;}
table.AdminAccess tr td:nth-child(3) {width:11%;}
table.AdminAccess tr td:nth-child(4) {width:3%; padding:4px 0px 0px 0px;}
table.AdminAccess tr td:nth-child(5) {width:30%;}
table.AdminAccess tr td:nth-child(6) {width:3%; padding:4px 0px 0px 0px;}
table.AdminAccess tr td:nth-child(7) {width:2%; text-align:right}
table.AdminAccess tr td {
    vertical-align:middle;
    padding:5px;
}

然后是一些背景 CSS,这里应该不重要。

所以基本上,我不知道为什么它在 IE 中表现得像这样,而不是在其他浏览器中。就像我说的。这只是我的一些 table 。有些风格完全像这样,但内容不同,就不这样做。 所以,我迷路了。 再说一遍,这对于布局本身并不重要,但如果知道出了什么问题那就太好了。

最佳答案

对于table.AdminAccess tr td:nth-child(7),您已指定width: 2%

表格宽度的 2% 不足以包含“删除”。

因此,浏览器必须调整其他列的宽度来进行补偿。恰好Chrome/Firefox在这一调整上与IE9有所不同。

这是我制作的测试用例:http://jsfiddle.net/thirtydot/hC53w/show/

Chrome/IE9 之间的列不对齐:

一旦我将“删除”更改为“!”,它们就会对齐:http://jsfiddle.net/thirtydot/hC53w/1/show/

关于css - 与 Chrome/Firefox 相比,IE 中的表格单元格已移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10565465/

相关文章:

html - @media 语法/可能的组合

google-chrome - 有没有办法调试 chrome 请求排队的原因?

google-chrome - 将控件移至Chrome调试器工具中的其他行

css - td 和高度在 IE 中不能正常工作

javascript - 如何使用 React js 创建图像虚拟滚动

css - radio 输入检查的 CSS 不工作

html - Flexbox - 如果宽度改变,不要移动居中的列

node.js - HTTP 内容编码 : gzip not recognized and wrong Content-Length

windows - IE 通过注册表启用/禁用代理设置

javascript - Facebook JS 影响 IE 中的 CSS/@font-face?