button-extra.scss 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  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-label {
  75. position: relative;
  76. background: transparent;
  77. // background: rgba(0, 0, 0, 0.05);
  78. display: inline-block;
  79. @include button-label-size($input-btn-padding-y, $input-btn-padding-x, $border-radius);
  80. }
  81. .btn-lg .btn-label {
  82. @include button-label-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $border-radius-lg);
  83. }
  84. .btn-sm .btn-label {
  85. @include button-label-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $border-radius-sm);
  86. }
  87. .btn-xs .btn-label {
  88. @include button-label-size(1px, 5px, $border-radius-sm);
  89. }
  90. // Fixed width buttons
  91. // --------------------------------------------------
  92. $btn-fw-default : 80px;
  93. $btn-fw-sm : 40px;
  94. $btn-fw-md : 60px;
  95. $btn-fw-lg : 140px;
  96. .btn-fw {
  97. min-width: $btn-fw-default;
  98. &.btn-sm {
  99. min-width: $btn-fw-sm;
  100. }
  101. &.btn-md {
  102. min-width: $btn-fw-md;
  103. }
  104. &.btn-lg {
  105. min-width: $btn-fw-lg;
  106. }
  107. }
  108. // Button Circle
  109. // -----------------------------------
  110. .btn-circle {
  111. $sz: 35px;
  112. width: $sz;
  113. height: $sz;
  114. text-align: center;
  115. font-size: 12px;
  116. line-height: $sz;
  117. border-radius: 500px;
  118. padding: 0;
  119. border: 0;
  120. >* {
  121. line-height: inherit !important;
  122. }
  123. &.btn-lg {
  124. $sz-lg: 50px;
  125. width: $sz-lg;
  126. height: $sz-lg;
  127. font-size: 18px;
  128. line-height: $sz-lg;
  129. }
  130. }
  131. // Button Outline
  132. // -----------------------------------
  133. .btn-outline {
  134. &-inverse {
  135. @include button-outline-variant($inverse);
  136. }
  137. &-green {
  138. @include button-outline-variant($green);
  139. }
  140. &-purple {
  141. @include button-outline-variant($purple);
  142. }
  143. &-pink {
  144. @include button-outline-variant($pink);
  145. }
  146. }