定位dom元素而不使用样式属性?

时间:2012-04-18 18:26:03

标签: javascript css spreadsheet

首先是一点背景。我正在开发一种可视组件,其工作方式与电子表格类似。可以在两个维度上滚动的内容区域,以及始终可见的左侧和顶部的轴指示符。

为了获得灵感,我一直在查看谷歌电子表格的html / css。我已经构建了一个类似的解决方案,但是他的解决方案的确切机制更加优雅。

他们解决方案的相关结构如下。

  • [容器] Div。明确的大小。溢出隐藏。相对位置。
    • [V-Scroll] Div。 '内容大小',根本没有造型使用萤火虫或铬。
    • [左侧] Div。内容大小。显示:内联块。溢出隐藏。相对位置。
      • 包含标题的表
    • [右侧] Div。内容大小。显示:内联块。溢出隐藏。相对位置。
      • 包含内容的表格

为了进行垂直滚动,他们将V-Scroll div向上移动,可以通过设置top:-15px作为示例来完成。使用FireBug和chrome检查工具,我可以看到:

  • 执行垂直滚动时,V-Scroll div向上移动。
  • 在V-Scroll div上看不到顶部或样式属性更改。
  • 内部内容随着V-scroll div一起向上移动。

有关他们如何定位V-scroll div的任何建议?似乎很奇怪,既没有顶级样式,也没有与元素上的固定集不同的定位样式。

1 个答案:

答案 0 :(得分:0)

我不熟悉谷歌代码的内部,但我想他们正在通过javascript操纵容器div的scrollTop。这将基本上滚动div,即使溢出被隐藏,导致没有滚动条。