143

jQuery スライドダウン セクションのトリガー テキストを示すために CSS を使用しています。つまり、トリガー テキストにカーソルを合わせると、カーソルがポインターに変わり、トリガー テキストの不透明度が減少して、テキストにクリック アクションがあることを示します。 .

これは Firefox と Chrome では問題なく動作しますが、IE8 では不透明度は変わりません。

さまざまな CSS 設定を試しましたが、成功しませんでした。

例えば

HTML:

<h3 class="slidedownTrigger">This is the trigger text</h3>

CSS:

.slidedownTrigger
{
    cursor: pointer;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
    filter: alpha(opacity=75);
    -khtml-opacity: 0.75;
    -moz-opacity: 0.75;
    opacity: 0.75;
}

IEが不透明度を変更するのを止めているのは何ですか? 注: さまざまな要素でこれを試し、CSS ステートメントの順序を入れ替えて、IE ステートメントを単独で使用しました。私も使ってみました

-ms-filter: "alpha(opacity=75)";

しかし、成功しませんでした。

IE8 で不透明度の変更を機能させるための手段が不足しています。

何か案は?

4

10 に答える 10

158

これらを(私が書いたのとまったく同じように)設定すると、必要なときに役に立ちました。

-moz-opacity: 0.70;
opacity:.70;
filter: alpha(opacity=70);
于 2009-12-22T18:16:44.120 に答える
65

これが引き続き 8 に適用されるかどうかはわかりませんが、歴史的に、IE は「レイアウトを持たない」要素にいくつかのスタイルを適用しません。

参照: http://www.satzansatz.de/cssd/onhavinglayout.html

于 2009-12-22T18:15:33.380 に答える
49

標準に準拠したブラウザーの場合は、最初に Opacity を設定し、次に IE のさまざまなバージョンを設定する必要があります。例を参照してください:

しかし、この不透明度コードは ie8 では機能しません

.slidedownTrigger
{
    cursor: pointer;
    opacity: .75; /* Standards Compliant Browsers */
    filter: alpha(opacity=75); /* IE 7 and Earlier */
    /* Next 2 lines IE8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=75);
}

Firefox は標準準拠のブラウザーであり、その行は不要になったため、 -moz を削除したことに注意してください。また、-khtml は減価償却されているので、そのスタイルも削除しました。

さらに、IE のフィルターは w3c 標準に対して検証されないため、ページを検証する場合は、次のような if IE ステートメントを使用して、標準スタイルシートを IE スタイルシートから分離します。

<!--[if IE]>
<link rel="stylesheet" type="text/css"  href="http://www.mysite.com/css/ie.css" />
<![endif]-->

つまり、癖を分離すると、サイトは問題なく検証されます。

于 2010-06-09T04:24:02.510 に答える
17

このdisplay: inline-block;問題を解決するには、IE8で動作します。

FWIWは、opacity: 0.75すべての標準準拠のブラウザで動作します。

于 2012-09-05T16:17:43.363 に答える
17

どうやらアルファ透明度は IE 8 のブロック レベル要素でのみ機能するようです。表示を設定: ブロック。

于 2011-04-07T19:46:26.717 に答える
6

CSS

私はCSS-Tricksから以下を使用していました:

.transparent_class {
  /* IE 8 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";

  /* IE 5-7 */
  filter: alpha(opacity=50);

  /* Netscape */
  -moz-opacity: 0.5;

  /* Safari 1.x */
  -khtml-opacity: 0.5;

  /* Good browsers */
  opacity: 0.5;
}

方位磁針

ただし、より良い解決策はOpacity Compass mixinを使用することです。これを行うだけ@include opacity(0.1);で、クロスブラウザーの問題が処理されます。ここで例を見つけることができます。

于 2015-02-16T04:36:17.037 に答える
2

これがIE8の答えです

そしてそれはアルファがIE8で機能するために機能しますあなたはその要素のために位置属性を使用しなければなりません

位置:相対またはその他。

http://www.codingforums.com/showthread.php?p=923730

于 2011-02-22T09:51:34.480 に答える