navs.less 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. // NAVIGATIONS
  2. // -----------
  3. // BASE CLASS
  4. // ----------
  5. .nav {
  6. margin-left: 0;
  7. margin-bottom: @baseLineHeight;
  8. list-style: none;
  9. }
  10. // Make links block level
  11. .nav > li > a {
  12. display: block;
  13. }
  14. .nav > li > a:hover {
  15. text-decoration: none;
  16. background-color: @grayLighter;
  17. }
  18. // Nav headers (for dropdowns and lists)
  19. .nav .nav-header {
  20. display: block;
  21. padding: 3px 15px;
  22. font-size: 11px;
  23. font-weight: bold;
  24. line-height: @baseLineHeight;
  25. color: @grayLight;
  26. text-shadow: 0 1px 0 rgba(255,255,255,.5);
  27. text-transform: uppercase;
  28. }
  29. // Space them out when they follow another list item (link)
  30. .nav li + .nav-header {
  31. margin-top: 9px;
  32. }
  33. // NAV LIST
  34. // --------
  35. .nav-list {
  36. padding-left: 14px;
  37. padding-right: 14px;
  38. margin-bottom: 0;
  39. }
  40. .nav-list > li > a,
  41. .nav-list .nav-header {
  42. margin-left: -15px;
  43. margin-right: -15px;
  44. text-shadow: 0 1px 0 rgba(255,255,255,.5);
  45. }
  46. .nav-list > li > a {
  47. padding: 3px 15px;
  48. }
  49. .nav-list .active > a,
  50. .nav-list .active > a:hover {
  51. color: @white;
  52. text-shadow: 0 -1px 0 rgba(0,0,0,.2);
  53. background-color: @linkColor;
  54. }
  55. .nav-list [class^="icon-"] {
  56. margin-right: 2px;
  57. }
  58. // TABS AND PILLS
  59. // -------------
  60. // Common styles
  61. .nav-tabs,
  62. .nav-pills {
  63. .clearfix();
  64. }
  65. .nav-tabs > li,
  66. .nav-pills > li {
  67. float: left;
  68. }
  69. .nav-tabs > li > a,
  70. .nav-pills > li > a {
  71. padding-right: 12px;
  72. padding-left: 12px;
  73. margin-right: 2px;
  74. line-height: 14px; // keeps the overall height an even number
  75. }
  76. // TABS
  77. // ----
  78. // Give the tabs something to sit on
  79. .nav-tabs {
  80. border-bottom: 1px solid #ddd;
  81. }
  82. // Make the list-items overlay the bottom border
  83. .nav-tabs > li {
  84. margin-bottom: -1px;
  85. }
  86. // Actual tabs (as links)
  87. .nav-tabs > li > a {
  88. padding-top: 9px;
  89. padding-bottom: 9px;
  90. border: 1px solid transparent;
  91. .border-radius(4px 4px 0 0);
  92. &:hover {
  93. border-color: @grayLighter @grayLighter #ddd;
  94. }
  95. }
  96. // Active state, and it's :hover to override normal :hover
  97. .nav-tabs > .active > a,
  98. .nav-tabs > .active > a:hover {
  99. color: @gray;
  100. background-color: @white;
  101. border: 1px solid #ddd;
  102. border-bottom-color: transparent;
  103. cursor: default;
  104. }
  105. // PILLS
  106. // -----
  107. // Links rendered as pills
  108. .nav-pills > li > a {
  109. padding-top: 8px;
  110. padding-bottom: 8px;
  111. margin-top: 2px;
  112. margin-bottom: 2px;
  113. .border-radius(5px);
  114. }
  115. // Active state
  116. .nav-pills .active > a,
  117. .nav-pills .active > a:hover {
  118. color: @white;
  119. background-color: @linkColor;
  120. }
  121. // STACKED NAV
  122. // -----------
  123. // Stacked tabs and pills
  124. .nav-stacked > li {
  125. float: none;
  126. }
  127. .nav-stacked > li > a {
  128. margin-right: 0; // no need for the gap between nav items
  129. }
  130. // Tabs
  131. .nav-tabs.nav-stacked {
  132. border-bottom: 0;
  133. }
  134. .nav-tabs.nav-stacked > li > a {
  135. border: 1px solid #ddd;
  136. .border-radius(0);
  137. }
  138. .nav-tabs.nav-stacked > li:first-child > a {
  139. .border-radius(4px 4px 0 0);
  140. }
  141. .nav-tabs.nav-stacked > li:last-child > a {
  142. .border-radius(0 0 4px 4px);
  143. }
  144. .nav-tabs.nav-stacked > li > a:hover {
  145. border-color: #ddd;
  146. z-index: 2;
  147. }
  148. // Pills
  149. .nav-pills.nav-stacked > li > a {
  150. margin-bottom: 3px;
  151. }
  152. .nav-pills.nav-stacked > li:last-child > a {
  153. margin-bottom: 1px; // decrease margin to match sizing of stacked tabs
  154. }
  155. // DROPDOWNS
  156. // ---------
  157. // Position the menu
  158. .nav-tabs .dropdown-menu,
  159. .nav-pills .dropdown-menu {
  160. margin-top: 1px;
  161. border-width: 1px;
  162. }
  163. .nav-pills .dropdown-menu {
  164. .border-radius(4px);
  165. }
  166. // Default dropdown links
  167. // -------------------------
  168. // Make carets use linkColor to start
  169. .nav-tabs .dropdown-toggle .caret,
  170. .nav-pills .dropdown-toggle .caret {
  171. border-top-color: @linkColor;
  172. margin-top: 6px;
  173. }
  174. .nav-tabs .dropdown-toggle:hover .caret,
  175. .nav-pills .dropdown-toggle:hover .caret {
  176. border-top-color: @linkColorHover;
  177. }
  178. // Active dropdown links
  179. // -------------------------
  180. .nav-tabs .active .dropdown-toggle .caret,
  181. .nav-pills .active .dropdown-toggle .caret {
  182. border-top-color: @grayDark;
  183. }
  184. // Active:hover dropdown links
  185. // -------------------------
  186. .nav > .dropdown.active > a:hover {
  187. color: @black;
  188. cursor: pointer;
  189. }
  190. // Open dropdowns
  191. // -------------------------
  192. .nav-tabs .open .dropdown-toggle,
  193. .nav-pills .open .dropdown-toggle,
  194. .nav > .open.active > a:hover {
  195. color: @white;
  196. background-color: @grayLight;
  197. border-color: @grayLight;
  198. }
  199. .nav .open .caret,
  200. .nav .open.active .caret,
  201. .nav .open a:hover .caret {
  202. border-top-color: @white;
  203. .opacity(100);
  204. }
  205. // Dropdowns in stacked tabs
  206. .tabs-stacked .open > a:hover {
  207. border-color: @grayLight;
  208. }
  209. // TABBABLE
  210. // --------
  211. // COMMON STYLES
  212. // -------------
  213. // Clear any floats
  214. .tabbable {
  215. .clearfix();
  216. }
  217. .tab-content {
  218. overflow: hidden; // prevent content from running below tabs
  219. }
  220. // Remove border on bottom, left, right
  221. .tabs-below .nav-tabs,
  222. .tabs-right .nav-tabs,
  223. .tabs-left .nav-tabs {
  224. border-bottom: 0;
  225. }
  226. // Show/hide tabbable areas
  227. .tab-content > .tab-pane,
  228. .pill-content > .pill-pane {
  229. display: none;
  230. }
  231. .tab-content > .active,
  232. .pill-content > .active {
  233. display: block;
  234. }
  235. // BOTTOM
  236. // ------
  237. .tabs-below .nav-tabs {
  238. border-top: 1px solid #ddd;
  239. }
  240. .tabs-below .nav-tabs > li {
  241. margin-top: -1px;
  242. margin-bottom: 0;
  243. }
  244. .tabs-below .nav-tabs > li > a {
  245. .border-radius(0 0 4px 4px);
  246. &:hover {
  247. border-bottom-color: transparent;
  248. border-top-color: #ddd;
  249. }
  250. }
  251. .tabs-below .nav-tabs .active > a,
  252. .tabs-below .nav-tabs .active > a:hover {
  253. border-color: transparent #ddd #ddd #ddd;
  254. }
  255. // LEFT & RIGHT
  256. // ------------
  257. // Common styles
  258. .tabs-left .nav-tabs > li,
  259. .tabs-right .nav-tabs > li {
  260. float: none;
  261. }
  262. .tabs-left .nav-tabs > li > a,
  263. .tabs-right .nav-tabs > li > a {
  264. min-width: 74px;
  265. margin-right: 0;
  266. margin-bottom: 3px;
  267. }
  268. // Tabs on the left
  269. .tabs-left .nav-tabs {
  270. float: left;
  271. margin-right: 19px;
  272. border-right: 1px solid #ddd;
  273. }
  274. .tabs-left .nav-tabs > li > a {
  275. margin-right: -1px;
  276. .border-radius(4px 0 0 4px);
  277. }
  278. .tabs-left .nav-tabs > li > a:hover {
  279. border-color: @grayLighter #ddd @grayLighter @grayLighter;
  280. }
  281. .tabs-left .nav-tabs .active > a,
  282. .tabs-left .nav-tabs .active > a:hover {
  283. border-color: #ddd transparent #ddd #ddd;
  284. *border-right-color: @white;
  285. }
  286. // Tabs on the right
  287. .tabs-right .nav-tabs {
  288. float: right;
  289. margin-left: 19px;
  290. border-left: 1px solid #ddd;
  291. }
  292. .tabs-right .nav-tabs > li > a {
  293. margin-left: -1px;
  294. .border-radius(0 4px 4px 0);
  295. }
  296. .tabs-right .nav-tabs > li > a:hover {
  297. border-color: @grayLighter @grayLighter @grayLighter #ddd;
  298. }
  299. .tabs-right .nav-tabs .active > a,
  300. .tabs-right .nav-tabs .active > a:hover {
  301. border-color: #ddd #ddd #ddd transparent;
  302. *border-left-color: @white;
  303. }