使用 Bootstrap,您可以創(chuàng)建靜態(tài)的導航條。在本教程中將教您如何做到這點。
我們將使用一個帶有內(nèi)容的 HTML5 頁面,并看看如何添加一個頭部導航條。下面是最后的輸出結(jié)果:
下面是不帶任何內(nèi)容的頁面的 HTML5 代碼。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Bootstrap Basic Tab Based Navigation Example</title> <meta name="description" content="Bootstrap Basic Tab Based Navigation Example"> <link href="../bootstrap/twitter-bootstrap-v2/docs/assets/css/bootstrap.css" rel="stylesheet"> </head> <body> <!-- We will create navbar here --> </body> </html>
為了創(chuàng)建包含導航的基本結(jié)構(gòu),您需要在上面顯示的 HTML5 代碼中,緊跟著 標簽的后邊插入下面的代碼:
<div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <!--navigation does here--> </div> </div> </div>
現(xiàn)在,讓我們把 替換為下面的代碼,用來創(chuàng)建導航的第一個集合。請注意,這里的 "brand" class 以不同的方式呈現(xiàn),這可以用來呈現(xiàn)您的公司名稱或組織名稱。
<ul class="nav"> <li class="active"> <a class="brand" href="#">w3cschool</a> </li> <li><a href="#">About</a></li> <li><a href="#">Portfolio</a></li> <li><a href="#">Contact</a></li> </ul>
如果需要創(chuàng)建下拉菜單,需要緊跟著在最后一個代碼塊中顯示的 HTML 代碼后,插入下面的代碼。
<ul class="nav"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> Services <b class="caret"></b> </a> <ul class="dropdown-menu"> <li><a href="#">Web Design</a></li> <li><a href="#">Web development</a></li> <li><a href="#">Wordpress Theme development</a></li> </ul> </li> </ul>
但是,由于 Bootstrap 下拉菜單需要用到 JavaScript,所以您需要在 HTML 頁面中插入下面兩行代碼。您可以把它們插入到 標簽前面。
<script src="../bootstrap/twitter-bootstrap-v2/docs/assets/js/jquery.js"></script> <script src="../bootstrap/twitter-bootstrap-v2/docs/assets/js/bootstrap-dropdown.js"></script>
如果要向?qū)Ш綏l中插入一個搜索表單,只需在包含下拉菜單列表的 <ul> 后,插入下面的代碼。請注意,class "pull-left" 是靠左對齊搜索表單。如果您想要靠右對齊,請使用 "pull-right" class。
<form class="navbar-search pull-left"> <input type="text" class="search-query" placeholder="Search"> </form>
現(xiàn)在,我們想要項導航條中插入交互按鈕,位于導航條的右部。我們將插入 Google Plus、Facebook Like 和 Tweet 按鈕。您需要在搜索表單的后邊插入下面的代碼。
<ul class="nav pull-right"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> Social <b class="caret"></b> </a> <ul class="dropdown-menu"> <li class="socials"><!-- Place this tag where you want the +1 button to render --> <g:plusone annotation="inline" width="150"></g:plusone> </li> <li class="socials"><div class="fb-like" data-send="false" data-width="150" data-show-faces="true"></div></li> <li class="socials"><a href="https://twitter.com/share" class="twitter-share-button">Tweet</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></li> </ul> </li> </ul>
class "socials" 不是 bootstrap.css 的一部分。由于我們想要讓所有的交互按鈕都居中對齊,所以我們需要通過它創(chuàng)建一些填充(padding)。代碼如下:
.socials { padding: 10px; }
您可以把它直接寫在頁面上,用 和 包圍起來,也可以把它添加到外部的 CSS 文件,然后進行引用。
最后您需要插入兩塊代碼。一個用于 Facebook 按鈕,另一個用于 Google Plus。這些是由 Facebook 和 Google 提供的用于動態(tài)插入按鈕到您的頁面中。
所以,在 body 的開始標簽后面,插入下面代碼,這個是用于 Facebook
<div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script>
然后在 body 的結(jié)束標簽前面,插入下面代碼,這個是用于 Google Plus
<script type="text/javascript"> (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })(); </script>
下面是最后的代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Bootstrap navbar Example</title> <meta name="description" content="Bootstrap navbar Example"> <link href="../bootstrap/twitter-bootstrap-v2/docs/assets/css/bootstrap.css" rel="stylesheet"> <style type="text/css"> .socials { padding: 10px; } </style> </head> <body> <div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <ul class="nav"> <li class="active"> <a class="brand" href="#">w3cschool</a> </li> <li><a href="#">About</a></li> <li><a href="#">Portfolio</a></li> <li><a href="#">Contact</a></li> </ul> <ul class="nav"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> Services <b class="caret"></b> </a> <ul class="dropdown-menu"> <li><a href="#">Web Design</a></li> <li><a href="#">Web development</a></li> <li><a href="#">Wordpress Theme development</a></li> </ul> </li> </ul> <form class="navbar-search pull-left"> <input type="text" class="search-query" placeholder="Search"> </form> <ul class="nav pull-right"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> Social <b class="caret"></b> </a> <ul class="dropdown-menu"> <li class="socials"><!-- Place this tag where you want the +1 button to render --> <g:plusone annotation="inline" width="150"></g:plusone> </li> <li class="socials"><div class="fb-like" data-send="false" data-width="150" data-show-faces="true"></div></li> <li class="socials"><a href="https://twitter.com/share" class="twitter-share-button">Tweet</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></li> </ul> </li> </ul> </div> </div> </div> <script src="../bootstrap/twitter-bootstrap-v2/docs/assets/js/jquery.js"></script> <script src="../bootstrap/twitter-bootstrap-v2/docs/assets/js/bootstrap-dropdown.js"></script> <script type="text/javascript"> (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })(); </script> </body> </html>
請注意,您需要在 body 的開始標簽后添加一個 40px 的填充(padding)。并把它添加在核心 Bootstrap CSS 之后,可選的響應式 CSS 之前。
Bootstrap 也允許您創(chuàng)建響應式的導航條。下面是代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Bootstrap navbar with responsive variation Example</title> <meta name="description" content="Bootstrap navbar with responsive variation Example"> <link href="../bootstrap/twitter-bootstrap-v2/docs/assets/css/bootstrap.css" rel="stylesheet"> <link href="../bootstrap/twitter-bootstrap-v2/docs/assets/css/bootstrap-responsive.css" rel="stylesheet"> </head> <body> <div class="navbar"> <div class="navbar-inner"> <div class="container"> <!-- .btn-navbar is used as the toggle for collapsed navbar content --> <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </a> <!-- Be sure to leave the brand out there if you want it shown --> <a class="brand" href="#">Project name</a> <!-- Everything you want hidden at 940px or less, place within here --> <div class="nav-collapse"> <!-- .nav, .navbar-search, .navbar-form, etc --> </div> </div> </div> </div> </body> </html>
更多建議: