Open In App

Foundation CSS Off-canvas Scrollbox

Foundation CSS is an open-source and responsive front-end framework built by ZURB foundation in September 2011, that makes it easy to design beautiful responsive websites, apps, and emails that look amazing & can be accessible to any device. It is used by many companies such as Facebook, eBay, Mozilla, Adobe, and even Disney. The framework is built on Saas-like bootstrap. It is more sophisticated, flexible, and easily customizable. It also comes with CLI, so it’s easy to use it with module bundlers. It offers the Fastclick.js tool for faster rendering on mobile devices.  

Off-canvas panels are positioned outside of the viewport and slide in when activated. These off-canvas menus can open from left, right, top or bottom, overlap our content, push our content, and can work with sticky elements. These are responsive mobile patterns mainly for mobile screens. This can also be used as a sidebar on medium and desktop screens.



The off-canvas scroll box is useful in placing scrollable elements within an off-canvas. 

Foundation CSS off-canvas scroll box classes:



Syntax:

<div class="off-canvas position-class" id="" 
    data-off-canvas data-off-canvas-scrollbox>
       <!-- menu or off-canvas content -->
</div>

<div class="off-canvas-content" 
    data-off-canvas-content>
       <!-- page content  -->
</div>

Note:

Example 1: This is a basic example illustrating the left side off-canvas scroll box created using Foundation CSS.




<!DOCTYPE html>
<html lang="en">
  
<head>
    <title>Foundation CSS Off-canvas Scrollbox</title>
  
    <!-- Compressed CSS -->
    <link rel="stylesheet" href=
    <link rel="stylesheet" href=
"//cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.min.css" />
  
    <!-- Compressed JavaScript -->
    <script src=
    </script>
    <script src=
    </script>
  
    <style>
        body {
            margin-left: 10px;
            margin-right: 10px;
        }
    </style>
</head>
  
<body>
    <h1 style="color:green;">
        GeeksforGeeks
    </h1>
      
    <strong>Foundation CSS Off-canvas Scrollbox</strong>
  
    <div class="off-canvas-wrapper">
        <div class="off-canvas-content" 
            data-off-canvas-content style="min-height:300px;">
            <div class="grid-x">
                <div class="cell">
                    <button type="button" class="button" 
                        data-toggle="offCanvasScrollbox">
                        Open Off-canvas
                    </button> <br /><br />
                </div>
            </div>
  
            <div class="off-canvas-absolute position-left" 
                id="offCanvasScrollbox" data-off-canvas
                data-content-scroll="false">
                <div style="padding:0 1rem;">
                    <article data-off-canvas-scrollbox 
                        style="max-height:290px; 
                            overflow:auto; padding:0.5rem 0;
                                margin-bottom:1rem; 
    box-shadow:inset 0 -10px 10px -10px rgba(0,0,0,0.65);">
                        <p>List 1</p>
                        <ul>
                            <li>Item 01</li>
                            <li>Item 02</li>
                            <li>Item 03</li>
                            <li>Item 04</li>
                            <li>Item 05</li>
                            <li>Item 06</li>
                            <li>Item 07</li>
                            <li>Item 08</li>
                            <li>Item 09</li>
                            <li>Item 10</li>
                        </ul>
                    </article>
                    <article style="max-height:290px; 
                        overflow:auto; padding:0.5rem 0; 
                           margin-bottom:1rem; 
box-shadow:inset 0 -10px 10px -10px rgba(0,0,0,0.65);">
                        <p>List 2</p>
                        <ul>
                            <li>Item 01</li>
                            <li>Item 02</li>
                            <li>Item 03</li>
                            <li>Item 04</li>
                            <li>Item 05</li>
                            <li>Item 06</li>
                            <li>Item 07</li>
                            <li>Item 08</li>
                            <li>Item 09</li>
                            <li>Item 10</li>
                        </ul>
                    </article>
                    <article style="padding:0.5rem 0;">
                        <p>List 3</p>
                        <ul>
                            <li>Item 01</li>
                            <li>Item 02</li>
                            <li>Item 03</li>
                            <li>Item 04</li>
                            <li>Item 05</li>
                            <li>Item 06</li>
                            <li>Item 07</li>
                            <li>Item 08</li>
                            <li>Item 09</li>
                            <li>Item 10</li>
                        </ul>
                    </article>
                </div>
            </div>
        </div>
    </div>
    <script>
        $(document).foundation();
    </script>
</body>
  
</html>

Output:

 

Example 2: This is a basic example illustrating the right side off-canvas scroll box created using Foundation CSS.




<!DOCTYPE html>
<html lang="en">
  
<head>
    <title>Foundation CSS Off-canvas Scrollbox</title>
    <!-- Compressed CSS -->
    <link rel="stylesheet" href=
    <link rel="stylesheet" href=
"//cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.min.css" />
    <!-- Compressed JavaScript -->
    <script src=
    </script>
    <script src=
    </script>
  
    <style>
        body {
            margin-left: 10px;
            margin-right: 10px;
        }
    </style>
</head>
  
<body>
    <h1 style="color:green;">
        GeeksforGeeks
    </h1>
      
    <strong>Foundation CSS Off-canvas Scrollbox</strong>
  
    <div class="off-canvas-wrapper">
        <div class="off-canvas-content" 
            data-off-canvas-content style="min-height:300px;">
            <div class="grid-x">
                <div class="cell">
                    <button type="button" class="button" 
                        data-toggle="offCanvasScrollbox">
                        Open Off-canvas
                    </button>
                </div>
            </div>
            <div class="off-canvas-absolute position-right" 
                id="offCanvasScrollbox" data-off-canvas
                data-content-scroll="false">
                <div style="padding: 0 1rem;">
                    <article data-off-canvas-scrollbox 
                        style="max-height:290px; overflow:auto; 
                        padding:0.5rem 0; margin-bottom:1rem; 
    box-shadow:inset 0 -10px 10px -10px rgba(0,0,0,0.65);">
                        <p>List 1</p>
                        <ul>
                            <li>Item 01</li>
                            <li>Item 02</li>
                            <li>Item 03</li>
                            <li>Item 04</li>
                            <li>Item 05</li>
                            <li>Item 06</li>
                            <li>Item 07</li>
                            <li>Item 08</li>
                            <li>Item 09</li>
                            <li>Item 10</li>
                        </ul>
                    </article>
                    <article style="max-height:290px;
                        overflow:auto; padding:0.5rem 0; 
                        margin-bottom: 1rem; 
box-shadow:inset 0 -10px 10px -10px rgba(0,0,0,0.65);">
                        <p>List 2</p>
                        <ul>
                            <li>Item 01</li>
                            <li>Item 02</li>
                            <li>Item 03</li>
                            <li>Item 04</li>
                            <li>Item 05</li>
                            <li>Item 06</li>
                            <li>Item 07</li>
                            <li>Item 08</li>
                            <li>Item 09</li>
                            <li>Item 10</li>
                        </ul>
                    </article>
                    <article style="padding:0.5rem 0;">
                        <p>List 3</p>
                        <ul>
                            <li>Item 01</li>
                            <li>Item 02</li>
                            <li>Item 03</li>
                            <li>Item 04</li>
                            <li>Item 05</li>
                            <li>Item 06</li>
                            <li>Item 07</li>
                            <li>Item 08</li>
                            <li>Item 09</li>
                            <li>Item 10</li>
                        </ul>
                    </article>
                </div>
            </div>
        </div>
    </div>
    <script>
        $(document).foundation();
    </script>
</body>
  
</html>

Output:

 

Reference: https://get.foundation/sites/docs/off-canvas#off-canvas-scrollbox


Article Tags :