IE8中的不透明度适用于<p>但不适用于<a></a> </p>

时间:2010-08-10 19:54:19

标签: css internet-explorer-8 opacity

我在IE8中遇到问题,我无法使<a>元素透明。我发现了这些相关的SO问题,但我没有在那里提供答案的运气:

我使用zoom: 1;尝试了“giving layout”,但它没有帮助。这是我的测试CSS,取自this page上的示例:

.test {
  background-color: #6374AB;
  width: 100%;
  color: #ffffff;
  zoom: 1;
}
.opaque1 {
  opacity: .5;
}
.opaque2 {
  filter: alpha(opacity=50);
}
.opaque3 {
  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}
.opaque4 {
  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
}

测试HTML:

<p class="test">Test paragraph without opacity.</p>
<p class="test opaque1">Test paragraph with <code>opacity</code></p>
<p class="test opaque2">Test paragraph with <code>filter</code></p>
<p class="test opaque3">Test paragraph with <code>-ms-filter</code></p>
<p class="test opaque4">Test paragraph with compatibility note</p>

<p>
  <a class="test" href="#">Test anchor without opacity.</a><br/>
  <a class="test opaque1" href="#">Test anchor with <code>opacity</code></a><br/>
  <a class="test opaque2" href="#">Test anchor with <code>filter</code></a><br/>
  <a class="test opaque3" href="#">Test anchor with <code>-ms-filter</code></a><br/>
  <a class="test opaque4" href="#">Test anchor with compatibility note</a><br/>
</p>

在IE8中,opaque2opaque3opaque4段落是透明的,但没有任何锚点。在IE6中,opaque2opaque4锚都具有透明度。

1 个答案:

答案 0 :(得分:6)

尝试给出锚display:block,但是你必须修复它的css属性,如宽度,高度......等。 但是,一旦你为锚点display:block赋予锚点,不透明度就可以正常工作。

根据评论,您可能会幸运display: inline-block;zoom:1 - 内联块适用于IE8,缩放将针对IE 6/7。