input-groups.less 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. //
  2. // Input groups
  3. // --------------------------------------------------
  4. // Base styles
  5. // -------------------------
  6. .input-group {
  7. .form-control {
  8. position: static;
  9. }
  10. }
  11. // Sizing options
  12. //
  13. // Remix the default form control sizing classes into new ones for easier
  14. // manipulation.
  15. .input-group-hg > .form-control,
  16. .input-group-hg > .input-group-addon,
  17. .input-group-hg > .input-group-btn > .btn { .input-hg(); }
  18. .input-group-lg > .form-control,
  19. .input-group-lg > .input-group-addon,
  20. .input-group-lg > .input-group-btn > .btn { .input-lg(); }
  21. .input-group-sm > .form-control,
  22. .input-group-sm > .input-group-addon,
  23. .input-group-sm > .input-group-btn > .btn { .input-sm(); }
  24. // Text input groups
  25. // -------------------------
  26. .input-group-addon {
  27. padding: 10px 12px;
  28. font-size: @component-font-size-base;
  29. color: @inverse;
  30. text-align: center;
  31. background-color: @gray-light;
  32. border: 2px solid @gray-light;
  33. border-radius: @border-radius-large;
  34. transition: border .25s linear, color .25s linear, background-color .25s linear;
  35. .input-group-hg &,
  36. .input-group-lg &,
  37. .input-group-sm &, {
  38. line-height: 1;
  39. }
  40. }
  41. // Reset rounded corners
  42. .form-controls-corners-reset();
  43. // Focus State
  44. // -------------------------
  45. .form-group.focus,
  46. .input-group.focus {
  47. .input-group-addon {
  48. background-color: @brand-secondary;
  49. border-color: @brand-secondary;
  50. }
  51. .input-group-btn {
  52. > .btn-default + .btn-default {
  53. border-left-color: mix(@brand-secondary, black, 85%);
  54. }
  55. .btn {
  56. border-color: @brand-secondary;
  57. background-color: @inverse;
  58. color: @brand-secondary;
  59. }
  60. .btn-default {
  61. .button-variant(@btn-default-color, @brand-secondary, @btn-primary-hover-bg, @btn-primary-active-bg);
  62. }
  63. }
  64. }
  65. // Button input groups
  66. // -------------------------
  67. .input-group-btn {
  68. .btn {
  69. background-color: @inverse;
  70. border: 2px solid @gray-light;
  71. color: @gray-light;
  72. line-height: 18px;
  73. height: 42px;
  74. }
  75. .btn-default {
  76. .button-variant(@btn-default-color, @gray-light, @btn-hover-bg, @btn-active-bg);
  77. }
  78. .input-group-hg & .btn {
  79. line-height: 31px;
  80. }
  81. .input-group-lg & .btn {
  82. line-height: 21px;
  83. }
  84. .input-group-sm & .btn {
  85. line-height: 19px;
  86. }
  87. &:first-child > .btn {
  88. border-right-width: 0;
  89. margin-right: -3px;
  90. }
  91. &:last-child > .btn {
  92. border-left-width: 0;
  93. margin-left: -3px;
  94. }
  95. & > .btn-default + .btn-default {
  96. border-left: 2px solid @gray-light;
  97. }
  98. & > .btn:first-child + .btn {
  99. .caret {
  100. margin-left: 0;
  101. }
  102. }
  103. }
  104. // Rounded input groups
  105. // -------------------------
  106. .input-group-rounded {
  107. .input-group-btn + .form-control,
  108. .input-group-btn:last-child .btn {
  109. .border-right-radius(20px);
  110. .input-group-hg& {
  111. .border-right-radius(27px);
  112. }
  113. .input-group-lg& {
  114. .border-right-radius(25px);
  115. }
  116. }
  117. .form-control:first-child,
  118. .input-group-btn:first-child .btn {
  119. .border-left-radius(20px);
  120. .input-group-hg& {
  121. .border-left-radius(27px);
  122. }
  123. .input-group-lg& {
  124. .border-left-radius(25px);
  125. }
  126. }
  127. // Remove left padding for .form-control after button
  128. .input-group-btn + .form-control {
  129. padding-left: 0;
  130. }
  131. }