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

在Chrome中使用overflow:auto时防止用户滚动

  •  1
  • Domenic  · 技术社区  · 14 年前

    <div /> 具有 overflow: auto . 里面有一些 <input type="text" />

    结果是,在Chrome中(不是在Firefox或IE中),如果用户将光标放在 < ,然后向右拖,他就可以 <div/> “滚动”到右边并显示其内容的后半部分!!

    setInterval 检查是否在必要时重新定位div。有干净点的吗?

    1 回复  |  直到 14 年前
        1
  •  2
  •   user229044    14 年前

    为什么不这样做:

    <div class="container">
      <div class="content">
      </div>
    </div>
    
    .container {
      width:400px;
      overflow:hidden;
      position:relative;
    }
    
    .container .content {
      width:800px;
      position:absolute;
      top:0;
      left:0;
    }
    

    内容物的宽度是容器的两倍,但后半部分是隐藏的。要显示下半部分,只需设置 right:0; left:-400px; )关于 .content 部门。

    将内容的宽度设置为容器的宽度(本例中为400px),直到您准备好显示第二部分,然后将内容的大小调整为800px并移动它以显示新内容。