【问题标题】:Hiding scrollbars (still able to scroll) not working when content width is auto当内容宽度为自动时,隐藏滚动条(仍然能够滚动)不起作用
【发布时间】:2014-09-28 19:26:40
【问题描述】:

suggested solution对可见滚动条的问题在以下场景中不起作用:

JSFIDDLe

CSS:

#hider {
    position:absolute;
    top: 0;
    left:0;
    height: 400px;
    width: 200px;
    background-color: green;
    overflow: hidden;
}

#scroller {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    padding-right: 20px;
    padding-bottom: 20px;
    overflow: auto;
}

#content {
    float: left;
    height: auto;
    width: auto;
}

HTML:

<div id="hider">
    <div id="scroller">
        <div id="content">
            xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
            <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        </div>
    </div>
</div>

我遇到的问题是 &lt;div id="content"&gt;&lt;/div&gt;width 在我的情况下无法事先知道,这就是为什么我需要将其设置为 auto

在这种情况下,滚动条仍然隐藏,滚动仍然有效,但有一个小“故障”:

如果您一直向右滚动,您会注意到&lt;div id="content"&gt;&lt;/div&gt; 的最后一位被截断。

更具体地说,&lt;div id="content"&gt;&lt;/div&gt; 右侧隐藏的部分的宽度等于应用于&lt;div id="scroller"&gt;&lt;/div&gt; 的右侧填充的宽度。这很奇怪。

为什么会这样?我该如何解决?

提前感谢您的帮助!

【问题讨论】:

    标签: html css width scrollbar overflow


    【解决方案1】:

    padding-right 交给#content 课程似乎可以解决问题。

    #content {
        padding-right: 10px; /* increase or decrease */
        /* other styles */
    }
    

    Working Fiddle

    【讨论】:

    • 实际上,大约 30px 的 padding-right 似乎可以解决问题,所以 Mr_Green 非常感谢! :-)
    猜你喜欢
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    • 2022-01-01
    • 2016-06-22
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多