Framework7 - Through Layout



Description

In this layout, the navbar and toolbar appears fixed for all pages within single view.

Example

The following example demonstrates the use of through layout in Framework7. The Navbar and Toolbar will be fixed and remains the same for all the pages.

First, we will create our through_layout.html file.

<!DOCTYPE html>
<html>

   <head>
      <meta name = "viewport" content = "width = device-width, initial-scale = 1, 
         maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui" />
      <meta name = "apple-mobile-web-app-capable" content = "yes" />
      <meta name = "apple-mobile-web-app-status-bar-style" content = "black" />
      <title>Through Layout</title>
      <link rel = "stylesheet" 
         href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css" />
      <link rel = "stylesheet" 
         href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css" />
   </head>
   
   <body>
      <div class = "views">
         <div class = "view view-main">
         
            <div class = "navbar">
               <div class = "navbar-inner">
                  <div class = "left"></div>
                  <div class = "center sliding">Through Navbar</div>
                  <div class = "right"></div>
               </div>
            </div>
            
            <div class = "pages navbar-through toolbar-through">
               <div data-page = "home" class = "page">
                  <div class = "page-content">
                     <div class = "content-block">
                        <p><a href="through-services.html">Services page</a></p>
                        
                        <p>Praesent nec imperdiet diam. Maecenas vel lectus porttitor, consectetur 
                           magna nec, viverra sem. Aliquam sed risus dolor. Morbi tincidunt ut libero id 
                           sodales. Integer blandit varius nisi quis consectetur. Nulla pellentesque elementum 
                           ligula vitae porta. Nunc sollicitudin mi quis mi mattis cursus. Nulla diam felis, 
                           ullamcorper eget lacinia ac, auctor id velit. Fusce enim nunc, egestas a augue vitae, malesuada tincidunt risus. Nullam fringilla, enim nec porta iaculis, enim leo pharetra 
                           nunc, eget rutrum tortor dui et risus. Etiam sit amet molestie dolor. Curabitur ultrices 
                           justo ut augue ornare, vel pharetra libero adipiscing. Duis  rhoncus a felis ac venenatis. 
                           Duis posuere non leo vitae tincidunt. Integer luctus arcu ut risus posuere, vel vehicula 
                           ipsum elementum. Duis et cursus sapien. </p>
                        
                        <p>Praesent mauris purus, faucibus vel hendrerit at, dapibus quis lorem. 
                           Sed placerat fermentum blandit. Suspendisse potenti. Cras sollicitudin laoreet tellus, 
                           ut gravida leo eleifend convallis. Sed pharetra nisl quis libero fermentum pharetra. 
                           Cras lacinia quam turpis, eget varius risus interdum sit amet. Quisque laoreet tortor dui,
                           vitae accumsan lacus fringilla in. Quisque consequat placerat risus, non ornare felis
                           scelerisque quis. Sed adipiscing diam tellus, vel faucibus mauris rhoncus vel. Vestibulum 
                           eu ultrices tortor, non suscipit lorem. Mauris tellus nulla, volutpat quis lacus eu, 
                           scelerisque adipiscing dui. Nullam nec tempor sem, nec pulvinar sapien. Etiam blandit condimentum vehicula.</p>
                        
                        <p>Praesent nec imperdiet diam. Maecenas vel lectus porttitor, consectetur magna nec,
                           viverra sem. Aliquam sed risus dolor. Morbi tincidunt ut libero id sodales. Integer blandit
                           varius nisi quis consectetur. Nulla pellentesque elementum ligula vitae porta. Nunc
                           sollicitudin mi quis mi mattis cursus. Nulla diam felis, ullamcorper eget lacinia ac, 
                           auctor id velit. Fusce enim nunc, egestas a augue vitae, malesuada tincidunt risus. 
                           Nullam fringilla, enim nec porta iaculis, enim leo pharetra nunc, eget rutrum tortor dui 
                           et risus. Etiam sit amet molestie dolor. Curabitur ultrices justo ut augue ornare, vel
                           pharetra libero adipiscing. Duis rhoncus a felis ac venenatis. Duis posuere non leo vitae
                           tincidunt. Integer luctus arcu ut risus posuere, vel vehicula ipsum elementum. 
                           Duis et cursus sapien. </p>
                        
                        <p>Praesent mauris purus, faucibus vel hendrerit at, dapibus quis lorem. Sed 
                           placerat fermentum blandit. Suspendisse potenti. Cras sollicitudin laoreet tellus, 
                           ut gravida leo eleifend convallis. Sed pharetra nisl quis libero fermentum pharetra. 
                           Cras lacinia quam turpis, eget varius risus interdum sit amet. Quisque laoreet tortor 
                           dui, vitae accumsan lacus fringilla in. Quisque consequat placerat risus, non ornare 
                           felis scelerisque quis. Sed adipiscing diam tellus, vel   faucibus mauris rhoncus vel. 
                           Vestibulum eu ultrices tortor, non suscipit lorem. Mauris tellus nulla, volutpat quis 
                           lacus eu, scelerisque adipiscing dui. Nullam nec tempor sem, nec pulvinar sapien. 
                           Etiam blandit condimentum vehicula.</p>
                        
                        <p>Praesent nec imperdiet diam. Maecenas vel lectus porttitor, consectetur magna 
                           nec, viverra sem. Aliquam sed risus dolor. Morbi tincidunt ut libero id sodales. Integer 
                           blandit varius nisi quis consectetur. Nulla pellentesque elementum ligula vitae porta. 
                           Nunc sollicitudin mi quis mi mattis cursus. Nulla diam felis, ullamcorper eget lacinia ac, 
                           auctor id velit. Fusce enim nunc, egestas a augue vitae,  malesuada tincidunt risus. Nullam
                           fringilla, enim nec porta iaculis, enim leo pharetra nunc, eget rutrum tortor dui et risus.
                           Etiam sit amet molestie dolor. Curabitur ultrices justo ut augue ornare, vel pharetra libero
                           adipiscing. Duis rhoncus a felis ac venenatis. Duis posuere  non leo vitae tincidunt. Integer
                           luctus arcu ut risus posuere, vel vehicula ipsum elementum. Duis et cursus sapien.</p>
                        
                        <p>Praesent mauris purus, faucibus vel hendrerit at, dapibus quis lorem. Sed placerat
                           fermentum blandit. Suspendisse potenti. Cras sollicitudin laoreet tellus, ut gravida leo
                           eleifend convallis. Sed pharetra nisl quis libero fermentum pharetra. Cras lacinia quam
                           turpis, eget varius risus interdum sit amet. Quisque laoreet tortor dui, vitae accumsan 
                           lacus fringilla in. Quisque consequat placerat risus, non ornare felis scelerisque quis. 
                           Sed adipiscing diam tellus, vel faucibus mauris rhoncus vel. Vestibulum eu ultrices tortor,
                           non suscipit lorem. Mauris tellus nulla, volutpat quis lacus eu, scelerisque adipiscing dui.
                           Nullam nec tempor sem, nec pulvinar sapien. Etiam blandit condimentum vehicula.</p>
                     </div>
                  </div>
               </div>
            </div>
            
            <div class = "toolbar">
               <div class = "toolbar-inner">
                  <a href = "#" class = "link">Link 1</a>
                  <a href = "#" class = "link">Link 2</a>
               </div>
            </div>
            
         </div>
      </div>
      
      <script type = "text/javascript" 
         src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script>
         
      <script>
         var myApp = new Framework7();
         var mainView = myApp.addView('.view');
      </script>
   </body>
   
</html>

Next, create the HTML page i.e. through-services.html as shown below −

<div class = "views">
   <div class = "view view-main">
      <div class = "pages">
         <div data-page = "services" class = "page navbar-through toolbar-through">
            
            <div class = "navbar">
               <div class = "navbar-inner">
                  <div class = "center">Services Page</div>
               </div>
            </div>
            
            <div class = "page-content">
               <div class = "content-block">
                  <p><a href = "through_layout.html" class = "back">Go back to Home page</a></p>
                  
                  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse at nibh felis. 
                     Nunc consequat diam et tellus tempor gravida. Donec hendrerit aliquet risus, ut tempor purus 
                     dictum sit amet. Integer sit amet lacus eget ipsum pulvinar interdum. Proin semper turpis sed
                     placerat dapibus. Sed iaculis id nibh a viverra. Sed vitae tellus sed purus lacinia dignissim.
                     Aenean sagittis interdum leo in molestie. Aliquam sodales in diam eu consectetur. Sed posuere a 
                     orci id imperdiet.</p>
                  
                  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse at nibh felis. 
                     Nunc consequat diam et tellus tempor gravida. Donec hendrerit aliquet risus, ut tempor purus 
                     dictum sit amet. Integer sit amet lacus eget ipsum pulvinar interdum. Proin semper turpis sed
                     placerat dapibus. Sed iaculis id nibh a viverra. Sed vitae tellus sed purus lacinia dignissim.
                     Aenean sagittis interdum leo in molestie. Aliquam sodales in diam eu consectetur. Sed posuere a 
                     orci id imperdiet.</p>
                  
                  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse at nibh felis. 
                     Nunc consequat diam et tellus tempor gravida. Donec hendrerit aliquet risus, ut tempor purus 
                     dictum sit amet. Integer sit amet lacus eget ipsum pulvinar interdum. Proin semper turpis sed
                     placerat dapibus. Sed iaculis id nibh a viverra. Sed vitae tellus sed purus lacinia dignissim.
                     Aenean sagittis interdum leo in molestie. Aliquam sodales in diam eu consectetur. Sed posuere a 
                     orci id imperdiet.</p>
                  
                  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse at nibh felis. 
                     Nunc consequat diam et tellus tempor gravida. Donec hendrerit aliquet risus, ut tempor purus 
                     dictum sit amet. Integer sit amet lacus eget ipsum pulvinar interdum. Proin semper turpis sed
                     placerat dapibus. Sed iaculis id nibh a viverra. Sed vitae tellus sed purus lacinia dignissim.
                     Aenean sagittis interdum leo in molestie. Aliquam sodales in diam eu consectetur. Sed posuere a 
                     orci id imperdiet.</p>
               </div>
            </div>
 
            <div class = "toolbar">
               <div class = "toolbar-inner">
                  <a href="#" class="link">Link 1</a>
                  <a href="#" class="link">Link 2</a>
               </div>
            </div>
         
         </div>
      </div>
   </div>
</div>

Output

Let us carry out the following steps to see how the above given code works −

  • Save the above given html code as through_layout.html file in your server root folder.

  • Open this HTML file as http://localhost/through_layout.html and the output is displayed as shown below.

  • When you scroll the page, Navbar and Toolbar will be fixed and stay the same through all pages within single View.

framework7_layouts.htm
Advertisements