long7181226 / compatibility-detector

Automatically exported from code.google.com/p/compatibility-detector
Apache License 2.0
0 stars 0 forks source link

RX1002 overflow #38

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
第一轮测试:有误报(50%)

---------------------------[误报] #1

Chrome 计算固定宽度的表格内的,有 padding 的单元格宽度时有 
bug,导致检测有误。

如代码:
<table style="width:100%; table-layout:fixed; font:12px Verdana;">
    <tr>
        <td style="width:20px; padding:10px; border:5px solid black; background:silver;"><span>text</span></td>
        <td>&nbsp;</td>
    </tr>
</table>

在 IE(S) Firefox Opera 中,TD 的宽度是应用在其 content box 
上的,而在 IE(Q) Chrome Safari 中,TD 的宽度被应用在其 border 
box。(查看“计算后的样式”可以看到 -webkit-box-sizing:content 
box,因此也可以认为 WebKit 认为 TD 的 content-box 包含 border 
area、padding area、content area。即 display:table-cell 导致 
-webkit-box-sizing:content-box 跟 -webkit-box-sizing:border-box 
的效果一致。)这造成 TD 的宽度在不同浏览器中表现不同。
更多信息请参见 RE8001。

测试用例:
overflow-table-fixed-td-with-padding.html

URL:
http://detail.zol.com.cn/cell_phone_index/subcate57_297_list_1.html
http://detail.zol.com.cn/cell_phone_index/subcate57_list_1.html
http://detail.zol.com.cn/notebook_index/subcate16_list_1.html

---------------------------[漏报] #1

IE8 以下的版本对 table-layout 
的计算有问题,即便表格没有设定宽度也认为生效。
文章 RX1002 中准备加入对本问题的补充,本问题编号暂定为 
RE1008。

测试用例:
overflow-table-fixed-in-ie.html

Original issue reported on code.google.com by wangju...@beyondsoft.com on 16 Nov 2010 at 9:53

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by sundongg...@beyondsoft.com on 2 Dec 2010 at 3:19

GoogleCodeExporter commented 9 years ago
1. 判断溢出与否的先决条件 - 
表格大小在各浏览器中不同,这种情况应该先被检测。
2. width 非 'auto' 时,table-layout: fixed 
方生效,但目前无较好方法判断 width 是否为 'auto'。

如果排除上述问题 1 
的情况,增加漏报来确保准确并不可行。因为问题 1 
的情况是比较普遍的。

Original comment by sundongg...@beyondsoft.com on 2 Dec 2010 at 6:56