0

IE 8 に不透明度を追加する際に問題が発生しています (これを IE7 と IE9 でも動作させたいのですが、IE8 でテストしたところです)。

私は自分のcssを次のように持っています:

label{
    color: #333;
    text-decoration: none;
    border: solid 1px #bebebe;
    width: 138px;
    padding: 5px;
    text-align: center;
    -webkit-box-shadow: 0 8px 6px -6px black;
    -moz-box-shadow: 0 8px 6px -6px #333;
    box-shadow: 0 8px 6px -6px #333;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background: #f2f2f2;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f2f2', endColorstr='#bdbdbd');
    background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#bdbdbd));
    background: -moz-linear-gradient(top,  #f2f2f2,  #bdbdbd); 
    display: inline-block;
    margin-bottom: 10px;
    position: relative;
    outline: none;
}

したがって、すべてのラベルはすべてのエクスプローラーで同じでなければなりません (これは問題なく動作しています) が、これらのラベルのいくつかに不透明度を追加したいと考えています。私が使用していた:

.aclass{
    opacity:0.4;
    filter:alpha(opacity=40);
}

しかしIEでは動きません。ここでいくつかの記事を読みました。たとえば、 Opacity CSS not working in IE8opacity in IE8 not working などですが、これに対する解決策は見つかりませんでした。これを追加してみました:

.aclass{
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=40)";
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
    opacity:0.4;
}

「zoom:1;」も追加 前のブロックまたは「display:block;」しかし、まだ機能していません。私はこれに対する解決策を見つけていないので、誰かが私を助けることができれば本当に感謝しています.

前もって感謝します!

4

1 に答える 1

0

グラデーション フィルターでは、AA == アルファ値に対して #AARRGGBB を定義できます。MSDNから。グラデーションとアルファに独自のフィルターを追加するよりも、これを行うほうがうまくいく可能性があります。

于 2012-09-11T16:21:33.360 に答える