breadcrumbs.less 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. //some breadcrumbs variables
  2. @breadcrumb-background: #F5F5F5;
  3. @breadcrumb-border: #E5E5E5;
  4. @breadcrumb-text-color: #555;
  5. @breadcrumb-link-color: #4C8FBD;
  6. @breadcrumb-separator: "\f105";//font awesome icon
  7. @breadcrumb-margin-left: 12px;//!ignore
  8. .enable_breadcrumbs() when(@enable-breadcrumbs = true) {
  9. // breadcrumbs and searchbox
  10. .breadcrumbs {
  11. position: relative;
  12. z-index: auto;
  13. border-bottom: 1px solid @breadcrumb-border;
  14. background-color: @breadcrumb-background;
  15. min-height: @breadcrumb-height;
  16. line-height: (@breadcrumb-height - 1);
  17. padding: 0 12px 0 0;
  18. }
  19. .breadcrumb {
  20. background-color: transparent;
  21. display: inline-block;
  22. line-height: 20px;
  23. margin: 6px 22px 0 @breadcrumb-margin-left;
  24. padding: 0;
  25. font-size: @font-size-breadcrumb;
  26. color: #333;
  27. border-radius: 0;
  28. > li {
  29. & , &.active {
  30. color: @breadcrumb-text-color;
  31. padding: 0 3px 0 3px;
  32. }
  33. > a {
  34. display: inline-block;
  35. color: @breadcrumb-link-color;
  36. }
  37. + li:before {
  38. //float: left;//it has a problem with fontAwesome in RTL
  39. font-family: FontAwesome;
  40. font-size: @font-size-breadcrumb-sep;
  41. content:@breadcrumb-separator;
  42. color: @breadcrumb-arrow-color;
  43. padding: 0;
  44. margin: 0 8px 0 0;
  45. position: relative;
  46. top: 1px;
  47. }
  48. }
  49. .home-icon {
  50. font-size: @font-size-breadcrumbs-home;
  51. margin-left: 2px;
  52. margin-right: 2px;
  53. vertical-align: top;
  54. }
  55. }
  56. @media only screen and (max-width: @screen-xs) {
  57. .breadcrumb > li > a {
  58. padding: 0 1px;
  59. }
  60. }
  61. //some changes in margins and paddings
  62. @media only screen and (max-width: @grid-float-breakpoint-max) {
  63. .menu-toggler + .sidebar.responsive + .main-content .breadcrumb {
  64. margin-left: 90px;
  65. }
  66. }
  67. @media only screen and (max-width: @screen-tiny) {
  68. .breadcrumb {
  69. margin-left: 8px;
  70. }
  71. .menu-toggler + .sidebar.responsive + .main-content .breadcrumb {
  72. margin-left: 36px;
  73. }
  74. }
  75. }
  76. .enable_breadcrumbs();
  77. .enable_fixed_breadcrumbs() when(@enable-fixed-breadcrumbs = true) {
  78. //fixed breadcrumbs
  79. @media (min-width: @screen-fixed-breadcrumbs) {
  80. .breadcrumbs-fixed {
  81. position: fixed;
  82. right: 0;
  83. left: 0;
  84. top: auto;
  85. z-index: @zindex-breadcrumbs-fixed;
  86. + .page-content {
  87. padding-top: @page-content-padding-top + @breadcrumb-height;
  88. }
  89. }
  90. .sidebar + .main-content .breadcrumbs-fixed {
  91. left: (@sidebar-width);
  92. }
  93. //android's default browser has a problem with "top: auto" when fixed
  94. body.mob-safari {
  95. .breadcrumbs-fixed {
  96. top: @navbar-min-height;
  97. }
  98. /**
  99. //not needed because breadcrumbs is not fixed at this point
  100. media (max-width: @screen-topbar-down) {
  101. .navbar-fixed-top:not(.navbar-collapse) + .main-container .breadcrumbs-fixed {
  102. top: (@navbar-min-height * 2);
  103. }
  104. }*/
  105. }
  106. }//@media
  107. //when sidebar is compact or minimized
  108. @media (min-width: max(@grid-float-breakpoint, @screen-compact-menu)) {
  109. .sidebar.compact + .main-content .breadcrumbs-fixed {
  110. left: (@sidebar-compact-width);
  111. }
  112. }
  113. @media (min-width: @grid-float-breakpoint) {
  114. .sidebar.menu-min + .main-content .breadcrumbs-fixed {
  115. left: (@sidebar-min-width);
  116. }
  117. }
  118. @media (min-width: @screen-fixed-breadcrumbs) and (max-width: @grid-float-breakpoint-max) {
  119. .breadcrumbs-fixed, .sidebar.menu-min + .main-content .breadcrumbs-fixed {
  120. left: 0;
  121. }
  122. .sidebar.responsive-min , .sidebar.responsive-max {
  123. + .main-content .breadcrumbs-fixed {
  124. left: (@sidebar-min-width);
  125. }
  126. }
  127. }
  128. .enable_container_breadcrumbs() when(@enable-container = true) {
  129. .container.main-container {
  130. @media (min-width: max(@screen-sm-min , @screen-fixed-breadcrumbs)) {
  131. .breadcrumbs-fixed {
  132. left: auto;
  133. right: auto;
  134. width: @container-sm;
  135. }
  136. .sidebar + .main-content .breadcrumbs-fixed {
  137. left: auto;
  138. right: auto;
  139. width: @container-sm - @sidebar-width;
  140. }
  141. .sidebar.compact + .main-content .breadcrumbs-fixed {
  142. width: @container-sm - @sidebar-compact-width;
  143. }
  144. .sidebar.menu-min + .main-content .breadcrumbs-fixed {
  145. left: auto;
  146. right: auto;
  147. width: @container-sm - @sidebar-min-width;
  148. }
  149. }
  150. @media (min-width: max(@screen-compact-menu, @screen-md-min)) {
  151. .sidebar.compact + .main-content .breadcrumbs-fixed {
  152. width: @container-md - @sidebar-compact-width;
  153. }
  154. }
  155. @media (min-width: @screen-md-min) {
  156. .breadcrumbs-fixed {
  157. width: @container-md;
  158. }
  159. .sidebar + .main-content .breadcrumbs-fixed {
  160. width: @container-md - @sidebar-width;
  161. }
  162. .sidebar.menu-min + .main-content .breadcrumbs-fixed {
  163. width: @container-md - @sidebar-min-width;
  164. }
  165. }
  166. @media (min-width: max(@screen-compact-menu, @screen-lg-min)) {
  167. .sidebar.compact + .main-content .breadcrumbs-fixed {
  168. width: @container-lg - @sidebar-compact-width;
  169. }
  170. }
  171. @media (min-width: @screen-lg-min) {
  172. .breadcrumbs-fixed {
  173. width: @container-lg;
  174. }
  175. .sidebar + .main-content .breadcrumbs-fixed {
  176. width: @container-lg - @sidebar-width;
  177. }
  178. .sidebar.menu-min + .main-content .breadcrumbs-fixed {
  179. width: @container-lg - @sidebar-min-width;
  180. }
  181. }
  182. }
  183. .container.main-container {
  184. @media (min-width: max(@screen-sm-min , @screen-compact-menu, @screen-fixed-breadcrumbs)) and (max-width: @grid-float-breakpoint-max) {
  185. .sidebar.compact + .main-content .breadcrumbs-fixed {
  186. width: @container-sm;
  187. }
  188. }
  189. @media (min-width: max(@screen-sm-min , @screen-fixed-breadcrumbs)) and (max-width: @grid-float-breakpoint-max) {
  190. .breadcrumbs-fixed,
  191. .sidebar.menu-min + .main-content .breadcrumbs-fixed {
  192. width: @container-sm;
  193. }
  194. .sidebar.responsive-min , .sidebar.responsive-max {
  195. + .main-content .breadcrumbs-fixed {
  196. left: auto;
  197. right: auto;
  198. width: @container-sm - @sidebar-min-width;
  199. }
  200. }
  201. }
  202. }
  203. }
  204. .enable_container_breadcrumbs();
  205. }
  206. .enable_fixed_breadcrumbs();
  207. //***************************************************************************
  208. //***************************************************************************
  209. //if you don't want fixed breadcrumbs on smaller devices
  210. //uncomment the following
  211. /**
  212. @media (max-width: @grid-float-breakpoint-max) {
  213. .breadcrumbs-fixed {
  214. position: relative;
  215. left: auto !important;
  216. right: auto !important;
  217. top: auto !important;
  218. width: auto !important;
  219. + .page-content {
  220. padding-top: @page-content-padding-top;
  221. }
  222. }
  223. }
  224. */
  225. //and maybe disable fixed breadcrumbs on horizontal menu style, because of too much fixed height occupied!
  226. .disable_fixed_breadcrumbs_on_horizontal_menu() when(@enable-horizontal-menu = true) {
  227. @media (min-width: @grid-float-breakpoint) {
  228. .h-sidebar + .main-content .breadcrumbs.breadcrumbs-fixed {
  229. position: relative;// !important;
  230. top: auto;
  231. left: auto;
  232. z-index: auto;
  233. width: auto;// !important;
  234. }
  235. .h-sidebar + .main-content .page-content {
  236. padding-top: @page-content-padding-top + 4;// !important;
  237. }
  238. }
  239. }
  240. .disable_fixed_breadcrumbs_on_horizontal_menu();