Skip to content
Related Articles

Related Articles

Improve Article

How to make a div vertically scrollable without content using CSS ?

  • Last Updated : 12 Aug, 2021
Geek Week

In this article, we will see how we can create a vertical scrollable section using CSS. HTML code is used to create the basic structure of the sections and CSS code is used to set the style,

HTML Code:

  • Create an HTML div element with the class container.
  • Created three more nested div with class box
  • Write some content inside each div with the class box.

CSS Code:

  • The “scroll” option is added in this case to always show the scrollbar for the overflow-y property.
  • The height is set to 100vh for 100% height of the viewport, which is set for the reason that if the contents exceed, it adds a scrollbar.
  • The scroll-snap-type is set to y, so that the direction of scroll snapping is in the y-axis for the container div. This property is added if the browser is needed to be stopped at a particular time. This forces scrolling to a snap point on the y-axis.
  • The scroll-snap-align property is used on elements with class “box” to set the position that scrolling will snap to. The scroll-snap-align is used to tell the point where the scrolling should stop.

Example:

HTML




<!DOCTYPE html>
<html>
  
<head>
    <style type="text/css">
        body {
            margin: 0;
        }
  
        /* Adding scroll snap type mandatory 
        and scoll direction to y axis*/
        .container {
            scroll-snap-type: y mandatory;
            overflow-y: scroll;
  
            /* 100% height of the viewport */
            height: 100vh;
        }
  
        /* Adding general css to box and 
        aligning snap to start */
        .box {
            height: 100vh;
            color: #fff;
            text-align: center;
            line-height: 100vh;
            font-size: 5rem;
            scroll-snap-align: start;
        }
  
        /* Setting different colors to all boxes */
        .box:nth-child(1) {
            background: #5e38ff;
        }
          
        .box:nth-child(2) {
            background: #fe802b;
        }
          
        .box:nth-child(3) {
            background: #00bf71;
        }
    </style>
</head>
  
<body>
    <div class="container">
        <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
    </div>
</body>
  
</html>

Output:

Attention reader! Don’t stop learning now. Get hold of all the important HTML concepts with the Web Design for Beginners | HTML  course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :