一个IE8 Bug的解决方法以及一些思考.docx_第1页
一个IE8 Bug的解决方法以及一些思考.docx_第2页
一个IE8 Bug的解决方法以及一些思考.docx_第3页
一个IE8 Bug的解决方法以及一些思考.docx_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

呼叫中心专家 一个IE8 Bug的解决方法以及一些思考Bug重现这里我引用了我同事流星陨落的例子。.table1 border-collapse:collapse; .table1 th -ms-filter:progid:DXImageTransform.Microsoft.gradient(enabled=true,startColorstr=white, endColorstr=gray); border:1px solid red; Give me a borderGive me a border重现环境:IE8, Browser Mode: IE8, Document Mode: IE8 Standard正确的效果:问题描述:a.上面、左边和单元格中间的边框不应该看不见。b. 这个问题与border-collapse属性没有关系,即使去掉border-collapse,也是没有边框的。解决方案我看了我同事发的帖子,/question/9322/,邀月同学给出了他的回复,在此表示感谢。不过position:absolute似乎并不是一个很好的解决方案,至少对于我们公司的系统是这样的,因为我们公司的table会有最多300列,如果每一列都要给一个新样式,那就有些小题大做了。更何况我们的列要支持宽度可变、拖放等功能,所以这种方法并不推荐。但邀月的方法给了我点启发,既然position不行,float也许能行,于是早上拿float:left试了一把,居然可以,修正代码如下:.table1 border-collapse:collapse; .table1 th -ms-filter:progid:DXImageTransform.Microsoft.gradient(enabled=true,startColorstr=white, endColorstr=gray); border-left:1px solid red; border-top:1px solid red; border-bottom:1px solid red; border-right:none; float:left; .table1 th.last border-right:1px solid red; Give me a borderGive me a border说明:a. 这里我之所以加上th.last样式,是因为这时的border失去了border-collapse的功能,所以位于单元格之间的border会产生2px的粗线,这样会很难看,QA也不会放过这样明显的bug。所以觉得采用border-right:none,然后在最后一个单元格补上一个border-right:1px solid red。当然这样做的代价是对于所有table的TH我都必须去遍历到最后一个元素,然后把那个元素加上last样式。b. 有人也许会问,你为啥不用th:last-child,其实我一开始是想用这个,结果所有的IE均不支持这个属性,无奈放弃。c. 也有人提出了另外一种解决方法,即用background-image,没错,background-image确实可以解决这个问题,但很遗憾,我们公司的产品要求允许客户使用任意2种颜色换肤,如果采用生成图片的方案,将会产生大量的图片,更何况,我们有些table的header高度是随机的,到底该生成多高的渐变色又是一个令人头疼的问题。注:如果你有更好的方法,请告诉我,最好连float都不用,呵呵,先谢了我的一些看法很多时候,微软产品会出现很多很诡异的现象,比如说蓝屏,但是蓝屏的case在大多数情况下是由于第三方的驱动引起的,所以我们不该怪微软,只能说她的驱动架构还无法很好的限制第三方驱动程序开发人员的行为。但IE8的这个bug我觉得有些太容易重现了,而且我在网上也看到了Beta RC1时就有人发了询问帖(/software/aspnet/34097060/ie8-rc1-bug-th-loses-bor.aspx),可偏偏微软的SDET没有发现,或者是SDE嫌烦不愿意修,不管哪一种原因,作为一个市场占有率极高的产品,这种bug实在有些说不过去。如果微软的同仁看到这篇帖子,麻烦转给相关人员,最好能够直接forward给IE team的SDE Lead,希望这个bug能够在sp1中修复。在IE8发布之前,IE8的主管曾经声称IE8不完全支持W3C标准,我当时以为只是少量的问题、少量的不支持,但从这个bug来看,这句话看来很有内涵,这其中也包括了很多没有修复的bug所导致的“不标准”情况。前段时间也看了Gerard Talbot整理的IE8 Bug列表,看完这列表,恐怕你对IE8会有另外一种想法全力抵制。回头看微软ie8的发布,也许是怕被Firefox赶上,提前发布了IE8,结果导致了一堆没有修复的bug也随之延后到sp1才能修复,当然这只是我的猜测,真正的原因只有IE team知道。最后提一下IE8最让人失望的东西:a. 放弃对canvas的支持,要求ie team提供支持的投票人数 70人/IE/feedback/ViewFeedback.aspx?FeedbackID=334060b. 放弃对VML的支持,要求ie team提供支持的投票人数投票人数23人/IE/feedback/ViewFeedback.aspx?FeedbackID=333905c. 放弃对SVG的支持,要求ie team提供支持的投票人数投票人数27人/IE/feedback/ViewFeedback.aspx?FeedbackID=333795这也就意味着,IE8没有提供任何可以在浏览器中画矢量图的东西,结果微软说你可以考虑用Silverlight,哎,拿这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论