2

I am trying to make Vertical menu with a scroll bar.

The problem is that the sub-menu hiding bellow the scroll-bar, here the preview

This is the code I am using

HTML code

<div class="scrollbar" id="ex4">
    <div class="content">
        <div id="menuwrapper">
            <ul>
                <li><a href="#">Home</a>
                </li>
                <li><a href="#">Products</a>
                    <ul>
                        <li><a href="#">Product 1</a>
                            <ul>
                                <li><a href="#">Sub Product 1</a>
                                </li>
                                <li><a href="#">Sub Product 2</a>
                                </li>
                                <li><a href="#">Sub Product 3</a>
                                </li>
                            </ul>
                        </li>
                        <li><a href="#">Product 2</a>
                        </li>
                        <li><a href="#">Product 3</a>
                        </li>
                    </ul>
                </li>
                <li><a href="#">About Us</a>
                    <ul>
                        <li><a href="#">Faqs</a>
                        </li>
                        <li><a href="#">Contact Us</a>
                        </li>
                        <li><a href="#">Where are we?</a>
                        </li>
                    </ul>
                </li>
                <li><a href="#">Help</a>

                    <li><a href="#">Home</a>
                    </li>
                    <li><a href="#">Products</a>
                        <ul>
                            <li><a href="#">Product 1</a>
                                <ul>
                                    <li><a href="#">Sub Product 1</a>
                                    </li>
                                    <li><a href="#">Sub Product 2</a>
                                    </li>
                                    <li><a href="#">Sub Product 3</a>
                                    </li>
                                </ul>
                            </li>
                            <li><a href="#">Product 2</a>
                            </li>
                            <li><a href="#">Product 3</a>
                            </li>
                        </ul>
                    </li>
                    <li><a href="#">About Us</a>
                        <ul>
                            <li><a href="#">Faqs</a>
                            </li>
                            <li><a href="#">Contact Us</a>
                            </li>
                            <li><a href="#">Where are we?</a>
                            </li>
                        </ul>
                    </li>
                    <li><a href="#">Help</a>

                        <li><a href="#">Home</a>
                        </li>
                        <li><a href="#">Products</a>
                            <ul>
                                <li><a href="#">Product 1</a>
                                    <ul>
                                        <li><a href="#">Sub Product 1</a>
                                        </li>
                                        <li><a href="#">Sub Product 2</a>
                                        </li>
                                        <li><a href="#">Sub Product 3</a>
                                        </li>
                                    </ul>
                                </li>
                                <li><a href="#">Product 2</a>
                                </li>
                                <li><a href="#">Product 3</a>
                                </li>
                            </ul>
                        </li>
                        <li><a href="#">About Us</a>
                            <ul>
                                <li><a href="#">Faqs</a>
                                </li>
                                <li><a href="#">Contact Us</a>
                                </li>
                                <li><a href="#">Where are we?</a>
                                </li>
                            </ul>
                        </li>
                        <li><a href="#">Help</a>

                            <li><a href="#">Home</a>
                            </li>
                            <li><a href="#">Products</a>
                                <ul>
                                    <li><a href="#">Product 1</a>
                                        <ul>
                                            <li><a href="#">Sub Product 1</a>
                                            </li>
                                            <li><a href="#">Sub Product 2</a>
                                            </li>
                                            <li><a href="#">Sub Product 3</a>
                                            </li>
                                        </ul>
                                    </li>
                                    <li><a href="#">Product 2</a>
                                    </li>
                                    <li><a href="#">Product 3</a>
                                    </li>
                                </ul>
                            </li>
                            <li><a href="#">About Us</a>
                                <ul>
                                    <li><a href="#">Faqs</a>
                                    </li>
                                    <li><a href="#">Contact Us</a>
                                    </li>
                                    <li><a href="#">Where are we?</a>
                                    </li>
                                </ul>
                            </li>
                            <li><a href="#">Help</a>
            </ul>
        </div>
    </div>

CSS code

.scrollbar {
    width: 250px;
    height: 300px;
    background-color: lightgray;
    margin-top: 40px;
    margin-left: 40px;
    overflow-y: scroll;
    float: left;
}
.content {
    height: 450px;
}
#ex4::-webkit-scrollbar {
    width: 8px;
    background-color: #cccccc;
}
#ex4::-webkit-scrollbar-thumb {
    background-color: #333333;
    border-radius: 10px;
}
#ex4::-webkit-scrollbar-thumb:hover {
    background-color: #999999;
    border: 1px solid #333333;
}
#ex4::-webkit-scrollbar-thumb:active {
    background-color: #666666;
    border: 1px solid #333333;
}
#ex4::-webkit-scrollbar-track {
    border: 1px gray solid;
    border-radius: 10px;
    -webkit-box-shadow: 0 0 2px gray inset;
}
#menuwrapper ul,
#menuwrapper ul li {
    margin: 0;
    padding: 0;
    list-style: none;
}
#menuwrapper ul li {
    background-color: #39255e;
    border-bottom: solid 1px white;
    width: 150px;
    cursor: pointer;
}
#menuwrapper ul li:hover,
#menuwrapper ul li.iehover {
    background-color: #6679e9;
    position: relative;
}
#menuwrapper ul li a {
    padding: 5px 15px;
    color: #ffffff;
    display: inline-block;
    text-decoration: none;
}
#menuwrapper ul li ul {
    position: absolute;
    display: none;
}
#menuwrapper ul li:hover ul,
#menuwrapper ul li.iehover ul {
    left: 150px;
    top: 0px;
    display: block;
}
#menuwrapper ul li:hover ul li:hover,
#menuwrapper ul li.iehover ul li.iehover {
    background-color: #6679e9;
}
/* We style the color of level 2 links */

#menuwrapper ul li ul li a {
    display: inline-block;
    width: 120px;
}
#menuwrapper ul li:hover ul li ul,
#menuwrapper ul li.iehover ul li ul {
    position: absolute;
    display: none;
}
#menuwrapper ul li:hover ul li:hover ul,
#menuwrapper ul li.iehover ul li.iehover ul {
    display: block;
    left: 150px;
    top: 0;
}
#menuwrapper ul li:hover ul li:hover ul li,
#menuwrapper ul li.iehover ul li.iehover ul li {
    background: #39255e;
}
#menuwrapper ul li:hover ul li:hover ul li:hover,
#menuwrapper ul li.iehover ul li.iehover ul li.iehover {
    background: #6679e9;
}
#menuwrapper ul li:hover ul li:hover ul li a,
#menuwrapper ul li.iehover ul li.iehover ul li a {
    color: #ffffff;
}
.clear {
    clear: both;
}

Can anybody see the problem ?

Jamie Eltringham
  • 810
  • 3
  • 16
  • 25
Raj
  • 33
  • 1
  • 2
  • 8

3 Answers3

1

The problem is that you defined a height in your element that creates a vertical scrollbar, if you don't need to set a fixed height for your container, you could try this change.

.scrollbar{
    width:250px;
    min-height:300px; /* min-height instead of height */
    background-color:lightgray;
    margin-top:40px;
    margin-left:40px;
    /*overflow-y:scroll;/* /*comment this line */
    float:left;
}

.content{
    min-height:450px; /* min-height instead of height */
}

Example without scroll http://jsfiddle.net/guilhermelucio/0Lxtmeyp/2/

Update:

Example with scroll

See an example in JsFiddle: http://jsfiddle.net/guilhermelucio/0Lxtmeyp/3/

  • Hello, I updated the code, now you can have a scroll. I also found an article in CSS Tricks if you have doubts. Fiddle: http://jsfiddle.net/guilhermelucio/0Lxtmeyp/3/ Artigo: https://css-tricks.com/popping-hidden-overflow/ – Guilherme Lúcio Feb 15 '16 at 10:43
0

Solved: the problem is related to this: conflict between overflow-y and overflow-x. I used a workaround described in the link to solve the problem. No javascript needed.

#wrapper {
   height: 300px;
   overflow-x: hidden;

}

.content{
    background-color:lightgray;

}

.scrollbar{
width:250px;
height: 300px;
margin-top:40px;
margin-left:40px;
float:left;
}


#ex4::-webkit-scrollbar{
width:8px;
background-color:#cccccc;
}
#ex4::-webkit-scrollbar-thumb{
background-color:#333333;
border-radius:10px;
}
#ex4::-webkit-scrollbar-thumb:hover{
background-color:#999999;
border:1px solid #333333;

}
#ex4::-webkit-scrollbar-thumb:active{
background-color:#666666;
border:1px solid #333333;
}
#ex4::-webkit-scrollbar-track{
border:1px gray solid;
border-radius:10px;
-webkit-box-shadow:0 0 2px gray inset;
}
#menuwrapper ul, #menuwrapper ul li{
    margin:0;
    padding:0;
    list-style:none;
}
#menuwrapper ul li{
   background-color: #39255e ;
    border-bottom:solid 1px white;
    width:150px;
 cursor:pointer;
}
#menuwrapper ul li:hover,
#menuwrapper ul li.iehover{
    background-color:#6679e9;
    position:relative;
}
#menuwrapper ul li a{
    padding:5px 15px;
    color:#ffffff;
    display:inline-block;
    text-decoration:none;
}
#menuwrapper ul li ul{
    position:absolute;
    display:none;
}
#menuwrapper ul li:hover ul,
#menuwrapper ul li.iehover ul{
    left:150px;
    top:0px;
    display:block;
}
#menuwrapper ul li:hover ul li:hover,
#menuwrapper ul li.iehover ul li.iehover{
    background-color:#6679e9;
}

/* We style the color of level 2 links */
#menuwrapper ul li ul li a{
    display:inline-block;
    width:120px;
}

#menuwrapper ul li:hover ul li ul,
#menuwrapper ul li.iehover ul li ul{
    position:absolute;
    display:none;
}
#menuwrapper ul li:hover ul li:hover ul,
#menuwrapper ul li.iehover ul li.iehover ul{
    display:block;
    left:150px;
    top:0;
}
#menuwrapper ul li:hover ul li:hover ul li,
#menuwrapper ul li.iehover ul li.iehover ul li{
    background:#39255e;
}
#menuwrapper ul li:hover ul li:hover ul li:hover,
#menuwrapper ul li.iehover ul li.iehover ul li.iehover{
    background:#6679e9;
}
#menuwrapper ul li:hover ul li:hover ul li a,
#menuwrapper ul li.iehover ul li.iehover ul li a{
    color:#ffffff;
}

.clear{
    clear:both;
}
<div id="wrapper">
    <div class="scrollbar" id="ex4">
 <div class="content">
 <div id="menuwrapper">
   <ul>
     <li><a href="#">Home</a></li>
     <li><a href="#">Products</a>
       <ul>
         <li><a href="#">Product 1</a>
           <ul>
             <li><a href="#">Sub Product 1</a></li>
             <li><a href="#">Sub Product 2</a></li>
             <li><a href="#">Sub Product 3</a></li>
           </ul>
         </li>
         <li><a href="#">Product 2</a></li>
         <li><a href="#">Product 3</a></li>
       </ul>
     </li>
     <li><a href="#">About Us</a>
       <ul>
         <li><a href="#">Faqs</a></li>
         <li><a href="#">Contact Us</a></li>
         <li><a href="#">Where are we?</a></li>
       </ul>
     </li>
     <li><a href="#">Help</a>

      <li><a href="#">Home</a></li>
      <li><a href="#">Products</a>
        <ul>
          <li><a href="#">Product 1</a>
            <ul>
              <li><a href="#">Sub Product 1</a></li>
              <li><a href="#">Sub Product 2</a></li>
              <li><a href="#">Sub Product 3</a></li>
            </ul>
          </li>
          <li><a href="#">Product 2</a></li>
          <li><a href="#">Product 3</a></li>
        </ul>
      </li>
      <li><a href="#">About Us</a>
        <ul>
          <li><a href="#">Faqs</a></li>
          <li><a href="#">Contact Us</a></li>
          <li><a href="#">Where are we?</a></li>
        </ul>
      </li>
      <li><a href="#">Help</a>


       <li><a href="#">Home</a></li>
       <li><a href="#">Products</a>
         <ul>
           <li><a href="#">Product 1</a>
             <ul>
               <li><a href="#">Sub Product 1</a></li>
               <li><a href="#">Sub Product 2</a></li>
               <li><a href="#">Sub Product 3</a></li>
             </ul>
           </li>
           <li><a href="#">Product 2</a></li>
           <li><a href="#">Product 3</a></li>
         </ul>
       </li>
       <li><a href="#">About Us</a>
         <ul>
           <li><a href="#">Faqs</a></li>
           <li><a href="#">Contact Us</a></li>
           <li><a href="#">Where are we?</a></li>
         </ul>
       </li>
       <li><a href="#">Help</a>

        <li><a href="#">Home</a></li>
        <li><a href="#">Products</a>
          <ul>
            <li><a href="#">Product 1</a>
              <ul>
                <li><a href="#">Sub Product 1</a></li>
                <li><a href="#">Sub Product 2</a></li>
                <li><a href="#">Sub Product 3</a></li>
              </ul>
            </li>
            <li><a href="#">Product 2</a></li>
            <li><a href="#">Product 3</a></li>
          </ul>
        </li>
        <li><a href="#">About Us</a>
          <ul>
            <li><a href="#">Faqs</a></li>
            <li><a href="#">Contact Us</a></li>
            <li><a href="#">Where are we?</a></li>
          </ul>
        </li>
        <li><a href="#">Help</a>
   </ul></div>
</div>
</div>
Community
  • 1
  • 1
silviagreen
  • 1,679
  • 1
  • 18
  • 39
  • please don't change the width . if i add more sub-menu to sub-menu's then the width will be 320 to 420 i want to increase , i dont want this method, I need to overflow the sub-menus in content area – Raj Feb 15 '16 at 08:55
0

CSS Vertical Menu with scrolldown

<div style="overflow:scroll;"> </div>

http://allittechnologies.blogspot.in/2015/05/vertical-css-menu-for-aspnet.html

Sri
  • 174
  • 2
  • 14