nav.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. ---
  2. layout: documentation
  3. doc-tab: components
  4. doc-subtab: nav
  5. ---
  6. {% include subnav-components.html %}
  7. <section class="section">
  8. <div class="container">
  9. <h1 class="title">Nav</h1>
  10. <h2 class="subtitle">
  11. A responsive horizontal <strong>nav bar</strong> that can contain links, tabs, buttons, icons, and a logo
  12. </h2>
  13. <hr>
  14. <div class="content">
  15. <p>
  16. The <code>nav</code> container can have <strong>3 parts</strong>:
  17. </p>
  18. <ul>
  19. <li><code>nav-left</code></li>
  20. <li><code>nav-center</code></li>
  21. <li><code>nav-right</code></li>
  22. </ul>
  23. <p>
  24. Each nav item needs to be wrapped in a <code>nav-item</code> element.
  25. </p>
  26. <p>
  27. For responsiveness, <strong>2 additional</strong> classes are available:
  28. </p>
  29. <ul>
  30. <li><code>nav-toggle</code> for the hamburger menu on mobile</li>
  31. <li><code>nav-menu</code> for menu that is collapsable on mobile (you can combine it with <code>nav-right</code>)</li>
  32. <li>toggle <code>is-active</code> on <code>nav-toggle</code> and <code>nav-menu</code> when <code>nav-toggle</code> was clicked</li>
  33. </ul>
  34. </div>
  35. {% capture nav_example %}
  36. <nav class="nav">
  37. <div class="nav-left">
  38. <a class="nav-item">
  39. <img src="{{ site.url }}/images/bulma-logo.png" alt="Bulma logo">
  40. </a>
  41. </div>
  42. <div class="nav-center">
  43. <a class="nav-item">
  44. <span class="icon">
  45. <i class="fa fa-github"></i>
  46. </span>
  47. </a>
  48. <a class="nav-item">
  49. <span class="icon">
  50. <i class="fa fa-twitter"></i>
  51. </span>
  52. </a>
  53. </div>
  54. <!-- This "nav-toggle" hamburger menu is only visible on mobile -->
  55. <!-- You need JavaScript to toggle the "is-active" class on "nav-menu" -->
  56. <span class="nav-toggle">
  57. <span></span>
  58. <span></span>
  59. <span></span>
  60. </span>
  61. <!-- This "nav-menu" is hidden on mobile -->
  62. <!-- Add the modifier "is-active" to display it on mobile -->
  63. <div class="nav-right nav-menu">
  64. <a class="nav-item">
  65. Home
  66. </a>
  67. <a class="nav-item">
  68. Documentation
  69. </a>
  70. <a class="nav-item">
  71. Blog
  72. </a>
  73. <div class="nav-item">
  74. <div class="field is-grouped">
  75. <p class="control">
  76. <a class="button" >
  77. <span class="icon">
  78. <i class="fa fa-twitter"></i>
  79. </span>
  80. <span>Tweet</span>
  81. </a>
  82. </p>
  83. <p class="control">
  84. <a class="button is-primary">
  85. <span class="icon">
  86. <i class="fa fa-download"></i>
  87. </span>
  88. <span>Download</span>
  89. </a>
  90. </p>
  91. </div>
  92. </div>
  93. </div>
  94. </nav>
  95. {% endcapture %}
  96. <div class="example is-paddingless">
  97. {{nav_example}}
  98. </div>
  99. {% highlight html %}
  100. {{nav_example}}
  101. {% endhighlight %}
  102. <hr>
  103. <h3 class="title">Modifiers</h3>
  104. <div class="content">
  105. <ul>
  106. <li>the <code>nav</code> container can have a <strong>shadow</strong> by adding the <code>has-shadow</code> modifier</li>
  107. <li>the <code>nav-item</code> can become <strong>active</strong> by adding the <code>is-active</code> modifier</li>
  108. <li>the <code>nav-item</code> can become a <strong>tab</strong> by adding the <code>is-tab</code> modifier</li>
  109. </ul>
  110. <p>
  111. To optimise the space on desktop, but also allow the mobile view to be usable, you can <strong>duplicate</strong> nav items in both <code>nav-left</code> and <code>nav-right</code>, and show/hide them with <a href="{{site.url}}/documentation/modifiers/responsive-helpers/">responsive helpers</a>.
  112. </p>
  113. </div>
  114. </div>
  115. {% capture nav_tabs_example %}
  116. <nav class="nav has-shadow">
  117. <div class="container">
  118. <div class="nav-left">
  119. <a class="nav-item">
  120. <img src="{{ site.url }}/images/bulma-logo.png" alt="Bulma logo">
  121. </a>
  122. <a class="nav-item is-tab is-hidden-mobile is-active">Home</a>
  123. <a class="nav-item is-tab is-hidden-mobile">Features</a>
  124. <a class="nav-item is-tab is-hidden-mobile">Pricing</a>
  125. <a class="nav-item is-tab is-hidden-mobile">About</a>
  126. </div>
  127. <span class="nav-toggle">
  128. <span></span>
  129. <span></span>
  130. <span></span>
  131. </span>
  132. <div class="nav-right nav-menu">
  133. <a class="nav-item is-tab is-hidden-tablet is-active">Home</a>
  134. <a class="nav-item is-tab is-hidden-tablet">Features</a>
  135. <a class="nav-item is-tab is-hidden-tablet">Pricing</a>
  136. <a class="nav-item is-tab is-hidden-tablet">About</a>
  137. <a class="nav-item is-tab">
  138. <figure class="image is-16x16" style="margin-right: 8px;">
  139. <img src="{{site.url}}/images/jgthms.png">
  140. </figure>
  141. Profile
  142. </a>
  143. <a class="nav-item is-tab">Log out</a>
  144. </div>
  145. </div>
  146. </nav>
  147. {% endcapture %}
  148. <div class="example is-paddingless">
  149. {{nav_tabs_example}}
  150. </div>
  151. {% highlight html %}
  152. {{nav_tabs_example}}
  153. {% endhighlight %}
  154. </section>