为什么“:active”在Gecko框架内没有正常工作?

时间:2009-04-14 21:36:11

标签: html css firefox pseudo-class firefox-3

在我看来,Gecko有一个涉及“:active”的错误。为了说明,将其放入名为test.html的文件中:

<!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>

加载 一个。现在,当你在跨度内进行mousedown时,将鼠标移动到框架外的任何位置,并且鼠标悬停,跨度永远保持灰色 - 即CSS认为它“永远”为“活动”。

这似乎只发生在一个框架中,并且问题没有出现在基于KHTML的浏览器中。

任何人都有解决方法吗?

1 个答案:

答案 0 :(得分:0)

您没有正确的doctype来支持框架。这可能是问题所在。