2009-04-14 1 views
0

Geckoには ":active"というバグがあります。説明するために、これをtest.htmlというファイルに入れます:Geckoフレーム内で ":active"が正しく動作しないのはなぜですか?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "hxxp://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" > 

<head> 
    <style type="text/css"> 
    .clickable { 
    border: solid black 1px; 
    padding: 2px; 
    cursor: pointer; 
    -moz-user-select: none; 
    } 

    .clickable:active { 
    background-color: gray; 
    } 
    </style> 
</head> 

<body> 
    <span class="clickable">blah</span> 
</body> 
</html> 

これをFF3などで開きます。スパンはボタンのように少しはたらくはずです。マウスを置くと、背景が変わります。マウスアップすると、正常に戻ります。

スパンの内側にマウスを置いてマウスをブラウザウィンドウの外に移動してそこから離した場合でもこれが機能することに注意してください。マウスが停止している部分では背景が灰色です。解放されると、スパンは正常に戻ります。

これまでのところとても良いです。しかし、フレームでそれをラップしてみてください。

<html> 
    <frameset cols="50%, 50%"> 
    <frame src="test.html" /> 
    <frame src="http://google.com" /> 
    </frameset> 
</html> 

ロードその1つのアップ。今度は、スパンの内側にマウスを置いたときに、フレームの外にマウスを移動させ、マウスアップすると、スパンは永久に灰色のままです。つまり、CSSは永遠にCSSを「:アクティブ」とみなします。

これはフレーム内でのみ発生するようで、KHTMLベースのブラウザでは問題は表示されません。

誰でも回避策がありますか?

+0

スパンでマウスボタンを押したままマウスをウィンドウの外に移動してマウスを放すと、これも(フレームなしで)行われますか? – cmptrgeekken

+0

「このことに注意してください」という言葉から始まる段落で言及したケースについて話していませんか? – mike

+0

はい、それはバグのようです...正直言って、私はそれが非フレームセットバージョンで動作することにもっと驚いています! – bobince

答えて

0

フレームをサポートするための適切なdoctypeがありません。これは問題かもしれません。

+0

どうすればいいですか? – mike

+0

<!DOCTYPE html PUBLIC " - // W3C // DTD XHTML 1.0 Frameset // EN" "hxxp://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">(xx-> tt )。しかし、それは助けにならないでしょう。 – bobince

+0

私はそのフレームセットを含むように投稿を更新しました。ボブが指摘したように、それは役に立たない。 – mike

関連する問題