IE无端当掉的元凶-CSS语法让IE6 关闭

 W3C验证层叠样式表CSS  http://jigsaw.w3.org/css-validator/ 地址

一篇文章用 Firefox 观看很正常,用 IE6 观看时, IE6 意外出现「MSHTML.DLL 执行错误,浏览器即将关闭」的错误讯息。后来我试了许多计算机,无一幸免, IE6 都会当掉。

我不是第一次碰到 IE 无端当掉的情形

(*1*1 IE7 真能良好支持 CSS 吗?)。我一向强调编辑网页时, HTML, HTML DOM, CSS 都要使用 W 3C 标准规范的内容,甚至连 JavaScript 也要用 ECMA-262 标准规范。但诡吊之处在于,尽管我使用的是标准语法, IE 仍然频繁地发生错误。我仔细追查了这次的问题的原因,查出原因竟然在于 CSS 。只需要用简单的 CSS 语法,就可以当掉 IE (*2*2 我只测过 IE6 ,没试过 IE5.5 IE7 )。当掉 IE 的网页内容列于下。

view plaincopy to clipboardprint?

  1. <html>  
  2. <head>  
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  
  4. <style type="text/css">  
  5. a {   
  6.      text-decoration: none;   
  7.      border-bottom: 1px dotted #99ccff;   
  8. }   
  9. .main p:first-letter {   
  10.      font-size: 180%;   
  11.      float: left;   
  12.      /*padding-right: 4px;*/   
  13.      border: 2px dotted #99ccff;   
  14. }   
  15. </style>  
  16. </head>  
  17.   
  18. <body>  
  19. <div id="container">  
  20.   <div class="blog">  
  21.     <div class="blogbody">  
  22.       <div class="main">  
  23.         <p>  
  24.           <a href="http://www.microsoft.com/">当掉 IE6</a>  
  25.            如果有人可以用 M$ IE6 开启这网页,麻烦跟我说一声 XD   
  26.         </p>  
  27.       </div>  
  28.     </div>  
  29.   </div>  
  30. </div>  
  31. </body>  
  32. </html>  

这个网页内容其实就是乐多网志的段落结构样板。而 CSS 的内容,只是设定让每篇部落格文章的每个段落的第一个字,以两倍大小突出,产生类似文绕图的效果。让 IE 当掉的内容重点在于:

  1. 嵌套的 CSS 宣告 .main p:first-letter,以及边框样式定义 bordermargin padding 也可以。
  2. a 标签 (连结) 的边框定义 border
  3. 区块 (div class=main) 中的段落 (p 标签) 内容以 a 标签开始。亦即段落内容一开始就是一个连结。

只要凑齐这三个要件, IE 就会发生 mshtml.dll 执行错误而强制关闭的结果。我提过这种情形我不是第一次碰到,还有其它的 CSS 内容可以当掉 IE 。各位有兴趣可以试试 IE7 是否修正这些问题了。我不建议试用在别人的网站上,令别人的网站当掉不明不白。若将这种内容植入他人网页中,其恶意程度不亚于病毒,在 IE 仍然占 8 成使用率的情形下,令 IE 的使用者无法观看对方网页内容的行为,形同瘫痪对方网站。

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值