【问题标题】:Opacity cuts off text不透明度会切断文本
【发布时间】:2013-12-14 06:02:43
【问题描述】:

我有一个<span> 标签,里面有一些文字。这个标签基本上被用作“仪表”。我会根据一些进展改变它的宽度。

看起来有点像这样:

<div>
    <span id="test">Words</span>
</div>

使用 CSS:

#test {
    width: 1%;
    background-color: red;
    display: block;

    opacity: 0.5;
    filter: alpha(opacity=50);
    zoom: 1;
}

文本在&lt;span&gt; 之外溢出,这正是我想要的。

在 IE8 中,文本不会溢出!问题是filter: alpha(opacity=50);。如果我删除它,文本会正确溢出。

为什么不透明度会影响 IE8 中的溢出?

演示:http://jsfiddle.net/mxd27/show/(编辑:http://jsfiddle.net/mxd27/

【问题讨论】:

  • 试试溢出:可见。
  • @MilchePatern:试过了,没用 :(

标签: css internet-explorer internet-explorer-8


【解决方案1】:

尝试添加一些标记和样式:

<div class="container">
    <div class="progress"></div>
    <span id="test">Words</span>
</div>

.container{
    position: relative;
    display: block;   
    zoom: 1;
}

.progress{
    width: 10%;
    background-color: red;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    opacity: 0.5;
    filter: alpha(opacity=50);
    zoom: 1;
}

#test {
    position: relative;  
    opacity: 0.5;
    filter: alpha(opacity=50);
    display:block;

}

【讨论】:

  • 为什么container 设置为inline-block?这使得进度条的宽度与文本的宽度相同,这不是我想要的。
  • 另外,我还希望这些词也有 50% 的不透明度。奇怪的是,将 filter: alpha(opacity=50); 添加到 #test 不起作用。
  • 对不起,你最好设置 display:block 为 .container
  • 非常感谢!这确实有效! IE 8 不喜欢不是blockinline-block 的元素不透明。我的解决方案是:jsfiddle.net/MLLB3/3
猜你喜欢
  • 2011-11-26
  • 1970-01-01
  • 2012-12-08
  • 2021-08-24
  • 2011-01-25
  • 2014-07-21
  • 2013-03-04
  • 2016-09-17
  • 1970-01-01
相关资源
最近更新 更多