目前我的网站上有一个侧边栏,当用户在侧边栏上悬停某些东西时,它应该会弹出一个弹出窗口。然而,这是一个非常奇怪的问题!
侧边栏有一个垂直滚动条,当弹出窗口出现时,它不会越过滚动条。这是它的图像(请注意,它不会是真正的弹出窗口,只是用于测试):
对不起,不知道为什么文字出现在这里。无论如何,当你有一个滚动条时,文本将不会通过它,但当滚动条被删除时,文本将通过它。以下是所有重要的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
答案 0 :(得分:1)
这就是overflow: scroll
的工作方式。即使您使用overflow-x
或overflow-y
,也不能将其与同一元素中的overflow: visible
混合使用。
您唯一能做的就是使用overflow-x: visible; overflow-y: hidden;
作为CSS,并使用javascript滚动元素。滚动查看这样的库:http://darsa.in/sly/
答案 1 :(得分:0)
在CSS中,LINE 974改变边距 - 左:150px;到margin-left:0px;