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

Jen*_*nni 4 css opacity internet-explorer-8

我有IE8的问题,我不能使<a>元素透明.我发现了这些相关的SO问题,但我没有运气,因为那里提供的答案:

我试过通过使用" 给布局 " zoom: 1;,但它没有帮助.这是我的测试CSS,取自此页面上的示例:

.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);
}
Run Code Online (Sandbox Code Playgroud)

并测试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>
Run Code Online (Sandbox Code Playgroud)

在IE8的opaque2,opaque3opaque4段落是透明的,但没有一个锚是.在IE6中,opaque2opaque4段落锚都有透明度.

Nar*_*uto 6

试着给锚点display:block,但是你必须修改它的css属性,比如宽度,高度......等等.但是一旦给了锚属性display:block,不透明度就可以了.

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