google-chrome - Webkit 浏览器根据 colspan 呈现表

标签 google-chrome safari webkit html-table

请告知我是否出现幻觉...我希望如此,因为我无法根据浏览器正确呈现表格,我希望有人能为我提供解决方案。

我的问题是有些表格不显示使用 webkit 的浏览器的右侧边框,即 Safari 和 Chrome。根据帮助下的关于菜单项,我使用的 Safari 版本是 4.0.4 (531.21.10)。根据 Google 的网站,我使用的 Chrome 版本应该是最新的,但我在帮助下找不到“关于”菜单选项来确认版本...

有问题的表是那些根据列数使用 colspan 属性的表。如果表格有两列或更少列带有 colspan,则表格会正确显示并带有右边框。如果表格有 3 列或更多列带有 colspan,则表格显示时缺少右侧边框。如果表没有 colspan,则无论列数如何,表都会正确显示。为什么列数加上colspan属性会和中国的鸡蛋价格有关系?

顺便说一句:表格在 IE、FF 和 Opera 中正确呈现...问题仅在 Safari 和 Chrome 中...

这是正确显示的两列示例的 HTML 源代码:

<HTML>
<HEAD><TITLE>test Webkit with 2 columns</TITLE></HEAD>
<BODY>
    <TABLE id="GridView1" border="0" cellSpacing="0"
        style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;">
        <TBODY><TR><TD colSpan=2>no items found</TD></TR></TBODY>
    </TABLE>
    <TABLE id="GridView2" border="0" cellSpacing="0"
        style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;">
        <TBODY>
            <TR>
                <TH scope=col>id_pur</TH>
                <TH scope=col>subscription_pur</TH>
            </TR>
            <TR><TD>11</TD><TD>2</TD></TR>
        </TBODY>
    </TABLE>
</BODY>
</HTML>

上面的例子渲染了两个表格,两个表格都显示了右侧边框。

这是三列示例的 HTML 源代码,其中一个表格呈现不正确:

<HTML>
<HEAD><TITLE>test Webkit with 3 columns</TITLE></HEAD>
<BODY>
    <TABLE id="GridView1" border="0" cellSpacing="0"
        style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;">
        <TBODY><TR><TD colSpan=3>no items found</TD></TR></TBODY>
    </TABLE>
    <TABLE id="GridView2" border="0" cellSpacing="0"
        style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;">
        <TBODY>
            <TR>
                <TH scope=col>id_pur</TH>
                <TH scope=col>subscription_pur</TH>
                <TH scope=col>purchaser_pur</TH>
            </TR>
            <TR><TD>11</TD><TD>2</TD><TD>85</TD></TR>
        </TBODY>
    </TABLE>
</BODY>
</HTML>

对于上面的示例,第一个具有 colspan 的表格在使用 webkit broswers 显示时缺少右边框,但第二个没有 colspan 的表格没有缺少边框。

当有两列以上且指定了 colspan 属性时,如何让正确的列显示?

最佳答案

据我所知,这是 WebKit 中的一个错误。

有一个bug report这似乎与您的问题相似,也许您也可以在那里包含您的示例。该错误报告提出了一种解决方法:添加额外的列以使 colspan 成为必需的,或者删除不需要的 colspan。

这在 Safari 中正确呈现:

<HTML>
<HEAD><TITLE>test Webkit with 3 columns</TITLE></HEAD>
    <STYLE>
        tr.dummy-row>td { padding: 0; }
    </STYLE>
<BODY>
    <TABLE id="GridView1" border="0" cellSpacing="0"
        style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;">
        <TBODY><TR><TD colSpan=3>no items found</TD></TR></TBODY>
        <TBODY><TR class="dummy-row"><TD></TD><TD></TD><TD></TD></TR></TBODY>
    </TABLE>
</BODY>
</HTML>

关于google-chrome - Webkit 浏览器根据 colspan 呈现表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3384132/

相关文章:

c# - C#WPF WebBrowser替代品

google-chrome - 自定义chrome源代码的gyp和gypi文件添加新文件

javascript - Ios Safari 的复制按钮

html - 在 Safari 和 Chrome 中格式化

audio - 如何使Safari播放本地音频资源?

safari - CSS旋转,平移,缩放动画错误

java - Android webview 不使用 cookie 加载网站图像

javascript - 使用 javascript 检测对 -webkit-filter 的支持

android - 如何让我的 android 应用程序检测 ARC 中是否有互联网连接?

css - Chrome 中的无序列表和::选择格式问题