文本(绝对)不会通过垂直滚动条

时间:2015-02-21 17:01:35

标签: html css

目前我的网站上有一个侧边栏,当用户在侧边栏上悬停某些东西时,它应该会弹出一个弹出窗口。然而,这是一个非常奇怪的问题!

侧边栏有一个垂直滚动条,当弹出窗口出现时,它不会越过滚动条。这是它的图像(请注意,它不会是真正的弹出窗口,只是用于测试):

Before and After Scroll Bar 对不起,不知道为什么文字出现在这里。无论如何,当你有一个滚动条时,文本将不会通过它,但当滚动条被删除时,文本将通过它。以下是所有重要的CSS:

.sidebarbuttons2    {
    width: 100%;
    height: 5%;
    margin-left: auto;
    margin-right: auto;
    background-color: gray;
    text-align: center;
    font-size: 70%;
    border-bottom: 2px solid #474747;
    z-index: 2;
}

.sidebarbuttons2 li .dropdownbuttonsholder  {
    display: none;                          
    margin: 0;
    padding: 0; 
  margin-left:150px;
  float:left;
  margin-top: -45px;
  height: 0;
    z-index: 3;
}               

.sidebarbuttons2 li:hover .dropdownbuttonsholder    {
    width: 200px;
    background-color: blue;
    border: 1px solid black;
    list-style: none;
    height: 25px;
    display: block;
    z-index: 4000;
    position: absolute;
}

#dropdownbuttonitem1 {
    background-color: red;
    height: 25px;
    z-index: 5;
}

#dropdownbuttonitem2 {
    background-color: green;
    height: 25px;
    z-index: 5;
}

#dropdownbuttonitem3 {
    background-color: yellow;
    height: 25px;
    z-index: 5;
}

#dropdownbuttonitem4 {
    background-color: orange;
    height: 25px;
    z-index: 5;
}

/*-------------------------------------------------------*/
/*Sidebar Style*/
/*-------------------------------------------------------*/

.sidebarpostinbutton {
    color: orange;
    font-weight: bold;
}

#sidebar {
    width: 20%;
    height: 1900px;
    background-color: gray;
    z-index: 1;
    border-right: 3px solid #474747;
    position: absolute;
    overflow-y: scroll;
    font-size: 88%;
}

#sidebar:hover {
    width: 25%;
    z-index: 5;
    -webkit-transition: 1s linear;
    -moz-transition: 1s linear;
    -o-transition: 1s linear;
    -ms-transition: 1s linear;
    transition: 1s linear;
}

.sidebarbuttons {
    width: 100%;
    height: 5%;
    margin-left: auto;
    margin-right: auto;
    background-color: gray;
    text-align: center;
    font-size: 70%;
    line-height: 0%;
    border-bottom: 2px solid #474747;
}

#sidebarbuttonlast1 {
    border-bottom: 0px;
}

#sidebarscrollinformation {
    display: none;
}

/*-------------------------------------------------------*/
/*Main Contents Box Style*/
/*-------------------------------------------------------*/

.maincontentssection {
    background-color: lightgray;
    margin-left: 20%;
    height: 1900px;
    position: absolute;
    width: 80%;
    overflow-y: scroll;
    z-index: 1;
}

然后这是重要的HTML:

<div id="sidebar">
    <div class="col-xs-12 col-sm-6 col-md-12">
        <ul class="nav sidebarbuttons2"> <!-- navbar -->
            <li><a href="#"> <h1> Art </h1> </a>
                <ul class="dropdownbuttonsholder row">
                    <ul id="dropdownbuttonitem1" class="col-xs-3"><a href="#"> All Posts </a></ul>
                    <ul id="dropdownbuttonitem2" class="col-xs-3"><a href="#"> Most Popular </a></ul>
                    <ul id="dropdownbuttonitem3" class="col-xs-3"><a href="#"> Most Viewed </a></ul>
                    <ul id="dropdownbuttonitem4" class="col-xs-3"><a href="#"> Newest </a></ul>
                </ul>
            </li>
        </ul>
    </div>
</div>

我无法弄清楚为什么它不会通过滚动条。请帮忙! :)

P.S。如果你想要完整的HTML,请访问:http://pastebin.com/c89M7MPk(它是一个包含),完整的CSS就在这里:http://pastebin.com/yJZp9HT2

2 个答案:

答案 0 :(得分:1)

这就是overflow: scroll的工作方式。即使您使用overflow-xoverflow-y,也不能将其与同一元素中的overflow: visible混合使用。

您唯一能做的就是使用overflow-x: visible; overflow-y: hidden;作为CSS,并使用javascript滚动元素。滚动查看这样的库:http://darsa.in/sly/

答案 1 :(得分:0)

在CSS中,LINE 974改变边距 - 左:150px;到margin-left:0px;