繁体   English   中英

滚动条与固定div的内容重叠

[英]Scrollbar overlaps content of fixed div

我右边有一个固定的div(购物车列表)。 如果项目太多,则会出现滚动条。 问题是,它部分涵盖了固定的div。 当滚动条出现时,如何使div向左推,这样它就不会被覆盖?

Scollbar问题

我的CSS:

/* sidebar-right */
#sidebar-wrapper-right {
    margin-left: -250px;
    right: 0;
    width: 250px;
    background: #F5F5F5;
    position: fixed;
    height: 100%;
    overflow-y: auto;
    z-index: 1000;
    top: 60px;
}

.sidebar-nav-right {
    position: absolute;
    top: 0;
    width: 250px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sidebar-nav-right li {
    line-height: 40px;
    text-indent: 20px;
}

.sidebar-nav-right li a {
    color: #555;
    display: block;
    text-decoration: none;
}

.sidebar-nav-right li a .item-count {
    margin-top: 10px;
    padding-left: 0;
    margin-right: 5px;
}

.sidebar-nav-right li a:hover {
    color: #000;
    background: rgba(255,255,255,0.8);
    text-decoration: none;
}

.sidebar-nav-right > .sidebar-brand {
    height: 65px;
    line-height: 60px;
    font-size: 18px;
}

.sidebar-nav-right > .sidebar-brand a {
    color: #000;
}

.sidebar-nav-right > .sidebar-brand a:hover {
    color: #fff;
    background: none;
}

#sidebar-wrapper-right .sidebar-nav-right .sidebar-right-trash {
    display: inline;
    margin-right: -10px;
    top: 12px;
}

#sidebar-wrapper-right .sidebar-nav-right .sidebar-right-trash:hover {
    background: none;
}

和HTML:

<div id="sidebar-wrapper-right">
    <ul class="sidebar-nav-right">
        <li class="sidebar-brand">[Shopping Cart]</li>
        <li>
            <a href="#" class="glyphicon glyphicon-trash sidebar-right-trash pull-left"></a>
            <a href="market/#">[X] <span class="badge pull-right item-count">5</span></a>
        </li>
        <li>
            <a href="#" class="glyphicon glyphicon-trash sidebar-right-trash pull-left"></a>
            <a href="market/#">[X] <span class="badge pull-right item-count">10</span></a>
        </li>
        <li>
            <a href="#" class="glyphicon glyphicon-trash sidebar-right-trash pull-left"></a>
            <a href="market/#">[X] <span class="badge pull-right item-count">10</span></a>
        </li>
        <li>
            <a href="#" class="glyphicon glyphicon-trash sidebar-right-trash pull-left"></a>
            <a href="market/#">[X] <span class="badge pull-right item-count">10</span></a>
        </li>
        <li>
            <a href="#" class="glyphicon glyphicon-trash sidebar-right-trash pull-left"></a>
            <a href="market/#">[X] <span class="badge pull-right item-count">10</span></a>
        </li>
        <li>
            <a href="#" class="glyphicon glyphicon-trash sidebar-right-trash pull-left"></a>
            <a href="market/#">[X] <span class="badge pull-right item-count">10</span></a>
        </li>
        <li>
            <a href="#" class="glyphicon glyphicon-trash sidebar-right-trash pull-left"></a>
            <a href="market/#">[X] <span class="badge pull-right item-count">10</span></a>
        </li>
        <hr class="sidebar-seperator">
    </ul>
</div>

删除overflow-y:auto; 从div元素中添加overflow-y:auto; height:100% overflow-y:auto; height:100%到ul元素。 http://jsfiddle.net/gLdCg/

向侧边栏添加修复高度

#sidebar-wrapper-right {
    margin-left: -250px;
    right: 0;
    width: 250px;
    background: #F5F5F5;
    position: fixed;
    height: 300px; /*or max-height:300px;*/
    /*height: 100%;*/
    overflow-y: auto;
    z-index: 1000;
    top: 60px;
}

将列表放入一个几乎看不见的小桌子中,然后将一些单元格填充到侧面。 这将使列表保持在屏幕的一侧。 或者你可以非常具体地将表放入一个不会受到影响的位置:

//PUT the and right pixels in the number that the scroll bar is generally.
<IMG STYLE="position:absolute; right:(NUMBER OF PIXELS AWAY FROM THE RIGHT)px>

我个人会使用绝对位置,但那只是我。

乐意效劳!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM