button-extra.scss 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. /* ========================================================================
  2. Component: button-extra
  3. ========================================================================== */
  4. //
  5. // Extension for Bootstrap buttons
  6. // ------------------------------------
  7. // BUTTONS LABEL mixin
  8. // --------------------------------------------------
  9. @mixin button-label-size($padding-vertical, $padding-horizontal, $border-radius) {
  10. padding: $padding-vertical $padding-horizontal;
  11. left: (-1 * $padding-horizontal);
  12. border-radius: ($border-radius/* - 1px */
  13. ) 0 0 ($border-radius/* - 1px */
  14. );
  15. &.btn-label-right {
  16. left: auto;
  17. right: (-1 * $padding-horizontal);
  18. border-radius: 0 ($border-radius/* - 1px */
  19. ) ($border-radius/* - 1px */
  20. ) 0;
  21. }
  22. }
  23. // New colors
  24. .btn-inverse {
  25. @include button-variant($inverse, $inverse);
  26. }
  27. .btn-green {
  28. @include button-variant($green, $green);
  29. }
  30. .btn-purple {
  31. @include button-variant($purple, $purple);
  32. }
  33. .btn-pink {
  34. @include button-variant($pink, $pink);
  35. }
  36. // Flat square button
  37. .btn-flat {
  38. border-bottom-width: 1px;
  39. border-radius: 0;
  40. box-shadow: 0 0 0 #000;
  41. }
  42. // Extra size
  43. .btn-xs {
  44. padding: 0.0625rem 0.3125rem;
  45. font-size: 0.8125rem;
  46. line-height: 1.5;
  47. }
  48. .btn-xl {
  49. padding: 20px 16px;
  50. font-size: 18px;
  51. }
  52. // Button square
  53. .btn-square {
  54. border-radius: 0;
  55. }
  56. // Button pill
  57. .btn-pill-left {
  58. border-top-left-radius: 50px;
  59. border-bottom-left-radius: 50px;
  60. padding-left: 18px;
  61. }
  62. .btn-pill-right {
  63. border-top-right-radius: 50px;
  64. border-bottom-right-radius: 50px;
  65. padding-right: 18px;
  66. }
  67. // Rounded buttons
  68. .btn-oval {
  69. @extend .btn-pill-right;
  70. @extend .btn-pill-left;
  71. }
  72. // Labels for buttons
  73. // --------------------------------------------------
  74. .btn-labeled {
  75. padding-top: 0;
  76. padding-bottom: 0;
  77. }
  78. .btn-label {
  79. position: relative;
  80. background: transparent;
  81. background: rgba(0, 0, 0, 0.05);
  82. display: inline-block;
  83. @include button-label-size($input-btn-padding-y, $input-btn-padding-x, $border-radius);
  84. }
  85. .btn-lg .btn-label {
  86. @include button-label-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $border-radius-lg);
  87. }
  88. .btn-sm .btn-label {
  89. @include button-label-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $border-radius-sm);
  90. }
  91. .btn-xs .btn-label {
  92. @include button-label-size(1px, 5px, $border-radius-sm);
  93. }
  94. // Fixed width buttons
  95. // --------------------------------------------------
  96. $btn-fw-default : 80px;
  97. $btn-fw-sm : 40px;
  98. $btn-fw-md : 60px;
  99. $btn-fw-lg : 140px;
  100. .btn-fw {
  101. min-width: $btn-fw-default;
  102. &.btn-sm {
  103. min-width: $btn-fw-sm;
  104. }
  105. &.btn-md {
  106. min-width: $btn-fw-md;
  107. }
  108. &.btn-lg {
  109. min-width: $btn-fw-lg;
  110. }
  111. }
  112. // Button Circle
  113. // -----------------------------------
  114. .btn-circle {
  115. $sz: 35px;
  116. width: $sz;
  117. height: $sz;
  118. text-align: center;
  119. font-size: 12px;
  120. line-height: $sz;
  121. border-radius: 500px;
  122. padding: 0;
  123. border: 0;
  124. >* {
  125. line-height: inherit !important;
  126. }
  127. &.btn-lg {
  128. $sz-lg: 50px;
  129. width: $sz-lg;
  130. height: $sz-lg;
  131. font-size: 18px;
  132. line-height: $sz-lg;
  133. }
  134. }
  135. // Button Outline
  136. // -----------------------------------
  137. .btn-outline {
  138. &-inverse {
  139. @include button-outline-variant($inverse);
  140. }
  141. &-green {
  142. @include button-outline-variant($green);
  143. }
  144. &-purple {
  145. @include button-outline-variant($purple);
  146. }
  147. &-pink {
  148. @include button-outline-variant($pink);
  149. }
  150. }