0

:active コードは、IE8 (9 ではない) を除くすべてのブラウザーで機能します。これと同様の他の質問を見て、さまざまな方法を試しました。これはコードです:

HTML:

<div id="main" style="color:white;font-family:Georgia">
   <div id="button" onmouseup="someFunction()"></div>
   <!-- other things -->
</div>

CSS:

#button
{
  position: relative;
  width: 241px;
  height: 41px;
  background-image:url("images/buttonStatic.png");
  display: none;
}

#button:hover
{
  background-image:url("images/buttonHover.png");
}

#button:active
{
  background-image:url("images/buttonActive.png");
}

ボタンは適切に表示され、適切にホバーすると2番目のボタンに変わりますが、クリックしても3番目のボタンに変わりません。

4

2 に答える 2

1

これを IE8 で試してみたところ、問題なく動作しました。DOCTYPE 仕様が正しく宣言されていることを確認し<!doctype html><meta http-equiv="X-UA-Compatible" content="IE=Edge"/>.

<DIV>ちなみに、要素をそのようなボタンとして使用するべきではありません。<button>or<a>は動作を抑制して使用する必要があります。

編集

これが私のコードです...

<!doctype html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
        <title>Active Button</title>
        <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/combo?3.5.0/build/cssreset/cssreset-min.css&3.5.0/build/cssfonts/cssfonts-min.css"/>
        <style type="text/css">
            .button {
                padding: 4px 12px;
                border: solid #555 1px;
                background-color: #ddd;
                }
            .button:hover {
                background-color: #eee;
                }
            .button:active {
                background-color: #09c;
                color: #fff;
                }

            .frame {
                padding: 2em;
                }
        </style>
    </head>
    <body>
        <div class="frame">
            <button class="button">I'm a Button</button>
        </div>
    </body>
</html>
于 2012-05-02T20:01:04.987 に答える
0

あなたのコードは問題ありません。これは IE8 の既知のバグです (申し訳ありませんが、不一致です)。

于 2012-05-02T19:47:14.357 に答える