非常奇怪的IE7 / 8边框/不透明度兼容性问题

奇怪的问题是在IE / 8/9中应用不透明度时边框消失,但不在7中!
我基本上已经在屏幕上获得了一个带有标签的菜单。 即:

<table>  
 <tr>  
  <td class="tab">button 1...<*/td>  
  <td class="tab">button 2....<*/td>  
  .  
  .  
  .  
 </tr>  
 </table>  

 <style>  
 td  
 {  
    opacity: 0.45;  
    filter:alpha(opacity=45);  
    .  
    .  
    .  
 }  
 td.tab:hover  
 {  
    opacity: 1;  
    filter:alpha(opacity=100);  
 }  

对于星星抱歉,我无法让代码块格式正常工作。
基本上,这只是当鼠标悬停在他们身上时,不应该让按钮失效,但边界就会消失! 这个问题只发生在IE8 / 9上,但在IE7,FF,Chrome,Safari上一切正常。
我浏览了互联网寻找一些奇怪的IE8 +边框/不透明问题,但似乎没有任何问题。
有没有人遇到类似的东西?


filter风格仅适用于IE7并且仅适用于较低版本。

IE8要求您使用-ms-filter (即使用供应商前缀)。 另外在IE8中语法更复杂。 它看起来像这样:

-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";

IE9完全支持filter ,并将其替换为标准CSS3 opacity ,这与其他所有的眉毛一样。

Quirksmode.org有完整的详细信息:http://www.quirksmode.org/css/opacity.html


这是我迄今为止发现的,我不认为去除表格单元格的background-color可能是您的一个解决方案。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
   <style type="text/css">
      table {border-top:1px solid #cccccc; border-left:1px solid #cccccc;}
      table td {border-bottom:1px solid #cccccc; border-right:1px solid #cccccc; padding:3px;}      
      table tr.opaque td {
         -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
         filter:alpha(opacity=100); opacity:1;}

      /* By adding background-color below, the table borders cells disappears
         in IE8. It's just the nth Microsoft's trigger tree!
         IE7 does not have this issue. */
      table tr.opaque td {background-color:#ffffff;}
   </style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0">
   <tr><td><p>column 1</p></td><td><p>column 2</p></td><td><p>column 3</p></td></tr>
   <tr class="opaque"><td><p>column 1</p></td><td><p>column 2</p></td><td><p>column 3</p></td></tr>
   <tr><td><p>column 1</p></td><td><p>column 2</p></td><td><p>column 3</p></td></tr>
</table>
</body>
</html>

这是在IE8上应用背景色时的美丽效果:

在这里输入图像描述

链接地址: http://www.djcxy.com/p/6901.html

上一篇: Extremely weird IE7/8 border/opacity compatibility issue

下一篇: What does T&& (double ampersand) mean in C++11?