Firefox2中输入框丢失光标bug

在Firefox2中某些情况下输入框虽然可以输入,但在获取焦点时没有文本输入光标的显示,这个是非常恶心的bug,非常容易让表单使用者有一种不能输入的错觉,即使后来尝试知道可以输入,但也无法判断光标定位在哪儿。虽然庆幸的是Firefox3中解决了这个bug,但Firefox3还在beta阶段,取代Firefox2还是需要一些时间的,下面就来仔细说一下这个问题:

一、样式为{position:absolute;}的容器中的表单输入框在样式为类似{overflow:auto;}的容器区域中失去光标

可以通过例一到例六来了解最常见的情况。

如果想整个body都出现失去光标,可以设置htmlbody两个容器,请看示例。包括举例的overflow:auto在内能引起该Bug的overflow属性共有:

  1. overflow:auto
  2. overflow-x:auto;
  3. overflow-y:auto;
  4. overflow:scroll;
  5. overflow-x:scroll;
  6. overflow-y:scroll;
  7. overflow-x:hidden;
  8. overflow-y:hidden;

除了避免使用overflow属性的其他解决方案:

  1. 利用overflow:hidden代替产生bug的oveflow属性
  2. 在具有上述overflow属性的容器中加入position:relative,请看实例
  3. positon:absolute的容器上加入同样的oveflow属性,同时注意在页面出现的顺序,见例四
  4. 为使用能产生bug的oveflow属性的容器选择合适的标签,比如fieldset,见例六

二、样式为{position:absolute;}的容器中的表单输入框在iframe容器区域中失去光标

可以通过例七来了解这个情况。IE6中为了解决下拉列表级别过高问题,往往需要用iframe来遮盖它,偶尔疏忽忘记做浏览器限定就有可能导致上面的问题。

现在看来Firefox2对iframe的处理bug还真不少,比如以前就发现了Firefox返回时Iframe的显示Bug

标签:, , , , ,

作者:秦歌,时间:2008-03-08 23:40,归纳于:HTML & CSS,订阅:RSS 2.0,引用:Trackback

有评论 7 条,发表一条新评论 »

re说:2008-03-09 0:15 #1

原来是FF的bug呀,我在做openid4discuz的时候遇到了,感觉奇怪来着。

arthuridea说:2008-03-09 0:15 #2

恩,我就遇到过,还以为是不能输入呢。。。。。原来是FF的bug。。。

稻草说:2008-03-09 2:22 #3

旁边的播放器不错

则名说:2008-03-10 22:42 #4

很好,很详细!

火星人路人甲说:2008-05-27 15:53 #5

以前没发现,长见识了,呵呵

绝路说:2008-06-02 11:45 #6

补充一个会触发这个BUG的例子

div{
border: 1px solid #333;
width: 200px;
height: 100px;
}

匿名说:2008-08-29 11:29 #7

ni hao

发表一条评论

您可以在下面评论内容中使用下列XHTML标签:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


回到页眉