html - CSS 边框:Firefox/Chrome 的区别
问题描述
我基本上在做的是在 HTML/CSS 中重现一个预先格式化的表格。但是,它在不同浏览器中的显示方式不同。Firefox 和 IE 按预期显示它。然而,Chrome 会画出一条虚假的线,即使通过检查 HTML 也不存在。在原始文件中,Chromium Embedded (CEF1) 有额外的差异。
我做了一个片段来演示这个问题:
<html>
<head>
<style type="text/css" media="all">
@media all {
TABLE {
border-collapse: collapse;
border-spacing: 0;
margin: 0;
padding: 0;
border: none;
table-layout: fixed;
empty-cells: show;
}
TR {
page-break-inside: avoid;
}
TD {
font-size: 11pt;
font-family: "Times New Roman", Times, serif;
text-align: center;
vertical-align: middle;
padding: 1px;
}
TD.S1 {
border-left: 1px solid black;
border-right: 1px solid black;
border-top: 1px solid black;
border-bottom: 1px solid black;
}
TD.S2 {
border: none;
}
TD.S3 {
border-left: none;
border-right: none;
border-top: none;
border-bottom: 1px dotted black;
}
}
</style>
</head>
<body>
<table>
<tr>
<td class="S1">A</td>
<td class="S2">B</td>
</tr>
<tr>
<td colspan="2" class="S3">C</td>
</tr>
</table>
</body>
</html>
所以问题是:上面的 CSS 是否有问题,或者任何应该以不同方式使用的东西?我怀疑这样一个基本的东西可能是一个 Chrome 错误。不过,我不希望单元格“B”下方的那条线。
解决方案
浏览器在解释事物方面有一些影响力,而 Chrome 有时会......不同......并且有时难以处理。
无论如何,我认为您不能重置边框颜色或大小(它会忽略transparent
and 0
),但您可以使用将融入背景的颜色覆盖它。删除border-collapse
可能有效,但似乎与您真正想要的相反。
作为奖励,将边框放在所有边上可以纠正 Chrome 因缺少边框而给出的“B”向下移动。(其他浏览器没有这样做。)
<html>
<head>
<style type="text/css" media="all">
@media all {
TABLE {
border-collapse: collapse;
border-spacing: 0;
margin: 0;
padding: 0;
border: none;
table-layout: fixed;
empty-cells: show;
}
TR {
page-break-inside: avoid;
}
TD {
font-size: 11pt;
font-family: "Times New Roman", Times, serif;
text-align: center;
vertical-align: middle;
padding: 1px;
}
TD.S1 {
border-left: 1px solid black;
border-right: 1px solid black;
border-top: 1px solid black;
border-bottom: 1px solid black;
}
TD.S2 {
border: 1px solid white;
}
TD.S3 {
border-left: none;
border-right: none;
border-top: none;
border-bottom: 1px dotted black;
}
}
</style>
</head>
<body>
<table>
<tr>
<td class="S1">A</td>
<td class="S2">B</td>
</tr>
<tr>
<td colspan="2" class="S3">C</td>
</tr>
</table>
</body>
</html>
推荐阅读
- php - 向所见即所得添加自定义动态颜色的问题
- rest - 无法使用 REST API (/groups) POST 在 alfresco 中创建新组
- python - pandas group 中日期差异的标准差
- c++ - 使用 LuaBridge 或 Lua 将 C++ 对象传递给 Lua 函数
- xaml - 更改 MyToolkit 的值 MTframe.CanGoForward
- swift - OptionSet 子类 - 是否有可能
- java - 我的关于 HashMap 的 Java 代码有什么问题?
- css - 将多行 css 保存在一个 less 变量中
- spring - jsf commandButton managedBean 动作重定向到 404 页面
- drupal - Drupal 7 中的自定义 404 基本页面有空白标题标签