代码之家  ›  专栏  ›  技术社区  ›  resopollution

firefox文本区域输入导致屏幕抖动(firefox 2 winxp)

  •  0
  • resopollution  · 技术社区  · 15 年前

    编辑:Firefox 2 Windows XP

    再现问题的步骤:

    火狐2 参观: http://resopollution.com/rentfox/html/property_setup.html

    开始键入并按[Enter键]创建新行

    按大约10下[Enter键]后,您会注意到屏幕抖动。

    这是怎么发生的

    这是在我安装了jquery插件之后开始的。它位于这里: http://resopollution.com/rentfox/html//js/textarea.js

    它使文本区域在我键入时可以扩展,这取决于文本区域中有多少行,最大高度值可以在CSS中指定。

    我尝试禁用这个插件中的“setheight”功能(唯一动态改变高度的功能),但我仍然看到屏幕在晃动。

    当我认为问题可能是

    火狐认为屏幕变大了,并通过在正文文档右侧放置一个滚动条来进行补偿。

    然而,它意识到事实上页面并没有变大,并删除了滚动条,导致了震动。

    我不知道让火狐这么想的代码在哪里…

    感谢任何帮助。

    5 回复  |  直到 15 年前
        1
  •  2
  •   Zoltan Lengyel    15 年前

    您可以强制滚动条: http://css-tricks.com/eliminate-jumps-in-horizontal-centering-by-forcing-a-scroll-bar/

    或者隐藏DIV的溢出并尝试摆脱滚动条,尝试溢出:在DIV属性设置中隐藏而不是自动

        2
  •  2
  •   ceejayoz    15 年前

    无法复制,在Mac OSX+Firefox 3.5中工作正常。

        3
  •  2
  •   Sander Marechal    15 年前

    我可以复制它(debian lenny,iceweasel 3.0.6),但是只有一个非常非常具体的firefox窗口大小(略高于1024px,这取决于您的系统字体大小、窗口管理器和显示的工具栏数量)。

    只要把你的页面稍微短一点或高一点,问题就消失了。只有在第10行之后添加新行,导致火狐页面增长时,才会出现此问题。 只是 足以使滚动条出现。正如你所猜测的。

    这是一个微小的10px的利润率,它依赖于许多浏览器和系统特定的设置。在您的页面中,根据系统字体、工具栏、窗口装饰和月亮的相位,页边距在1024px左右。将该页边距移出1024px区域。或者缩短页面40-50px,使滚动条不显示(即使是大系统字体和额外的工具栏),或者使其更高,使滚动条始终在那里。ZoltanLengyel的答案在这个线程中总是强制滚动条也可以使用。

        4
  •  1
  •   ajm    15 年前

    我可以在WinXP的Firefox 3.0.11中复制它。

    添加 overflow:hidden body 标签似乎可以解决这个问题,但是这样做可能会导致更多的悲伤,然后完全禁用插件。给予 身体 标签 overflow-x:scroll 将在那里永久粘贴一个滚动条,但似乎也解决了它。

        5
  •  1
  •   Greg    15 年前

    我在窗户上复制了它,ff3。

    有趣的是,它似乎发生在jquery.height()函数中! 不幸的是,你使用的是缩小版,所以这是我所能得到的。