Framework7 - 混合布局

描述

您可以在单个视图中混合不同类型的布局。

示例

以下示例演示了如何在 Framework7 中使用混合布局。导航栏和工具栏可以采用混合布局,如固定导航栏通过工具栏,如下所示 −

首先,我们将创建 mixed_layout.html 文件。

<!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>My App</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 = "center sliding">Mixed Navbar</div>
               </div>
            </div>
            
            <div class = "pages navbar-fixed toolbar-through">
               <div data-page = "index" class = "page">
                  <div class = "page-content">
                     
                     <div class = "list-block">
                        <ul>
                           <li>
                              <a href = "/framework7/src/mixed_layout-services.html" class = "">
                                 <div class = "item-content">
                                    <div class = "item-inner">
                                       <div class = "item-title">Go to Services page</div>
                                    </div>
                                 </div>
                              </a>
                           </li>
                        </ul>
                     </div>
                     
                     <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>
            
            <div class = "toolbar">
               <div class = "toolbar-inner">
                  <a href = "#" class="link">First Link</a>
                  <a href = "#" class="link">Second Link</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();

         // 如果您使用自定义 DOM 库,则将其保存到 $$ 变量
         var $$ = Dom7;

         // 添加视图
         var mainView = myApp.addView('.view-main', {
	    
            // 为该视图启用动态导航栏:
            dynamicNavbar: true
         });
      </script>
    </body>
    
</html>

接下来,再创建一个 HTML 页面,即 mixed_layout-services.html,如下所示 −

<div class = "navbar">
   <div class = "navbar-inner">
      <div class = "center sliding">Services</div>
   </div>
</div>

<div class = "pages">
   <div data-page = "services" class = "page">
      <div class = "page-content">
         <div class = "content-block">
            <br>
            
            <h2>Our Services</h2>
            <ul>
               <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do 
               eiusmod tempor incididunt ut labore.</li>
               <li>Ut enim ad minim veniam, quis nostrud exercitation ullamco 
               laboris.</li>
               <li>Duis aute irure dolor in reprehenderit in voluptate velit esse 
               cillum dolore eu fugiat nulla pariatur.</li>
               <li>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit 
               aut fugit.</li>
               <li>At vero eos et accusamus et iusto odio dignissimos ducimus 
               qui blanditiis praesentium voluptatum deleniti atque corrupti quos 
               dolores et.</li>
               <li>Nam libero tempore, cum soluta nobis est eligendi optio 
               cumque nihil impedit quo minus id.</li>
            </ul>
            
            <p>Go <a href = "#" class = "back">back</a> to home page.</p>
         </div>
      </div>
   </div>
</div>

输出

让我们执行以下步骤来查看上述代码的工作原理 −

  • 将上述 html 代码保存为服务器根文件夹中的 mixed_layout.html 文件。

  • 以 http://localhost/mixed_layout.html 的形式打开此 HTML 文件,输出如下所示。

  • 您可以看到导航栏已固定,并通过布局应用于工具栏。

framework7_layouts.html