html - 为什么在 dir ="rtl"时表格边距出错?

标签 html css firefox

当我将页面方向更改为 rtl 时,表格边距不正确,如图所示 enter image description here

但是当我从页面中删除dir 属性时,一切都会正确,如 enter image description here

CSS

table,td,tr {
    border: 2px solid black;
    padding:0px;
}

HTML

<body>
    <table>
        <tr> <td></td><td></td> </tr>
        <tr> <td></td><td></td> </tr>
    </table>
</body>

这发生在 firefox 中,但在 chrome 上,表格在两个方向上都是正确的!

如何解决这个问题?

编辑:

我今天刚刚向 Bugzilla 报告了一个新错误(问题 3 年后 :D),这里是链接 https://bugzilla.mozilla.org/show_bug.cgi?id=1580346

最佳答案

正如评论所说,这是一个错误。

但是。

实际上没有必要给 tr 元素赋予 border 属性。事实上,几乎没有必要为 tr 元素赋予任何属性,除非在非常特殊的情况下。
因此,您可以从 CSS 选择器中删除 ,tr
如果你这样做,什么都不会变得更糟——表格在 LTR 模式下看起来仍然是一样的。但它在 RTL 模式下看起来也不错。因此,这就是您的问题的解决方案。

table,td {
  border: 2px solid black;
  padding: 0px;
}
<body dir="rtl">
  <table>
    <tr> <td>test</td><td>test</td> </tr>
    <tr> <td>test</td><td>test</td> </tr>
  </table>
</body>

关于html - 为什么在 dir ="rtl"时表格边距出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38816104/

相关文章:

javascript - 移动 HTML5 应用程序本地存储

Javascript 退出页面事件

javascript - 为什么使用 JavaScript 来改变元素和 DOM?

javascript - jquery load() 的 margin 问题

html - 在 flexbox 全屏内居中

javascript - 在 Firefox 中,使用 Javascript 写入文件?

jquery - 用 jQuery 编写的动态菜单中的错误

css - 在响应式上重新排序 div

css - 想要替换 DXImageTransform 以使 FireFox/Chrome 兼容

firefox - 如何阻止 Firefox 强制使用 https ://on local development server?