You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

306 lines
5.7 KiB

  1. /*
  2. * # Semantic - Input
  3. * http://github.com/semantic-org/semantic-ui/
  4. *
  5. *
  6. * Copyright 2013 Contributors
  7. * Released under the MIT license
  8. * http://opensource.org/licenses/MIT
  9. *
  10. */
  11. /*******************************
  12. Theme
  13. *******************************/
  14. @type : 'element';
  15. @element : 'input';
  16. @import '../../semantic.config';
  17. /*******************************
  18. Standard
  19. *******************************/
  20. /*--------------------
  21. Inputs
  22. ---------------------*/
  23. .ui.input {
  24. display: inline-block;
  25. position: relative;
  26. color: @inputColor;
  27. }
  28. .ui.input input {
  29. width: 100%;
  30. font-family: @pageFont;
  31. margin: 0em;
  32. padding: @verticalPadding @horizontalPadding;
  33. background: @background;
  34. border: @border;
  35. outline: none;
  36. color: @inputColor;
  37. border-radius: @borderRadius;
  38. transition: @transition;
  39. box-shadow: @boxShadow;
  40. box-sizing: border-box;
  41. -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  42. }
  43. /*--------------------
  44. Placeholder
  45. ---------------------*/
  46. /* browsers require these rules separate */
  47. .ui.input input::-webkit-input-placeholder {
  48. color: @placeholderColor;
  49. }
  50. .ui.input input::-moz-placeholder {
  51. color: @placeholderColor;
  52. }
  53. /*******************************
  54. States
  55. *******************************/
  56. /*--------------------
  57. Active
  58. ---------------------*/
  59. .ui.input input:active,
  60. .ui.input.down input {
  61. border-color: @downBorderColor;
  62. background: @downBackground;
  63. color: @downColor;
  64. box-shadow: @downBoxShadow;
  65. }
  66. /*--------------------
  67. Loading
  68. ---------------------*/
  69. .ui.loading.input > .icon {
  70. background: url(@loadingImage) no-repeat 50% 50%;
  71. }
  72. .ui.loading.input > .icon:before,
  73. .ui.loading.input > .icon:after {
  74. display: none;
  75. }
  76. /*--------------------
  77. Focus
  78. ---------------------*/
  79. .ui.input.focus input,
  80. .ui.input input:focus {
  81. border-color: @focusBorderColor;
  82. background: @focusBackground;
  83. color: @focusColor;
  84. box-shadow: @focusBoxShadow;
  85. }
  86. .ui.input.focus input input::-webkit-input-placeholder,
  87. .ui.input input:focus input::-webkit-input-placeholder {
  88. color: @placeholderFocusColor;
  89. }
  90. .ui.input.focus input input::-moz-placeholder,
  91. .ui.input input:focus input::-moz-placeholder {
  92. color: @placeholderFocusColor;
  93. }
  94. /*--------------------
  95. Error
  96. ---------------------*/
  97. .ui.input.error input {
  98. background-color: @errorBackground;
  99. border-color: @errorBorder;
  100. color: @errorColor;
  101. box-shadow: @errorBoxShadow;
  102. }
  103. /* Error Placeholder */
  104. .ui.input.error input ::-webkit-input-placeholder {
  105. color: @placeholderErrorColor;
  106. }
  107. .ui.input.error input ::-moz-placeholder {
  108. color: @placeholderErrorColor;
  109. }
  110. /* Focused Error Placeholder */
  111. .ui.input.error input :focus::-webkit-input-placeholder {
  112. color: @placeholderErrorFocusColor;
  113. }
  114. .ui.input.error input :focus::-moz-placeholder {
  115. color: @placeholderErrorFocusColor;
  116. }
  117. /*******************************
  118. Variations
  119. *******************************/
  120. /*--------------------
  121. Transparent
  122. ---------------------*/
  123. .ui.transparent.input input {
  124. border: none;
  125. background-color: transparent;
  126. padding-left: 0em;
  127. padding-right: 0em;
  128. }
  129. /*--------------------
  130. Icon
  131. ---------------------*/
  132. .ui.icon.input > .icon {
  133. cursor: default;
  134. position: absolute;
  135. opacity: @iconOpacity;
  136. top: 0px;
  137. right: 0px;
  138. margin: 0em;
  139. width: @inputHeight;
  140. height: 100%;
  141. padding-top: @iconOffset;
  142. text-align: center;
  143. border-radius: 0em @borderRadius @borderRadius 0em;
  144. box-sizing: border-box;
  145. transition: @iconTransition;
  146. }
  147. .ui.icon.input > .link.icon {
  148. cursor: pointer;
  149. }
  150. .ui.icon.input input {
  151. padding-right: @iconMargin !important;
  152. }
  153. .ui.icon.input > .circular.icon {
  154. top: @circularIconVerticalOffset;
  155. right: @circularIconHorizontalOffset;
  156. }
  157. /* Left Icon Input */
  158. .ui.left.icon.input > .icon {
  159. right: auto;
  160. left: @borderWidth;
  161. border-radius: @borderRadius 0em 0em @borderRadius;
  162. }
  163. .ui.left.icon.input > .circular.icon {
  164. right: auto;
  165. left: @circularIconHorizontalOffset;
  166. }
  167. .ui.left.icon.input > input {
  168. padding-left: @iconMargin !important;
  169. padding-right: @horizontalPadding !important;
  170. }
  171. /* Focus */
  172. .ui.icon.input > input:focus ~ .icon {
  173. opacity: 1;
  174. }
  175. /*--------------------
  176. Labeled
  177. ---------------------*/
  178. .ui.labeled.input .corner.label {
  179. top: @borderWidth;
  180. right: @borderWidth;
  181. font-size: @labelSize;
  182. border-top-right-radius: @borderRadius;
  183. }
  184. .ui.labeled.input input {
  185. padding-right: @labeledMargin !important;
  186. }
  187. /* Spacing with corner label */
  188. .ui.labeled.icon.input:not(.left) > input {
  189. padding-right: @labeledIconInputMargin !important;
  190. }
  191. .ui.labeled.icon.input:not(.left) > .icon {
  192. margin-right: @labeledIconMargin;
  193. }
  194. /*--------------------
  195. Action
  196. ---------------------*/
  197. .ui.action.input {
  198. display: table;
  199. }
  200. .ui.action.input > input {
  201. display: table-cell;
  202. border-top-right-radius: 0px !important;
  203. border-bottom-right-radius: 0px !important;
  204. border-right: none;
  205. }
  206. .ui.action.input > .button,
  207. .ui.action.input > .buttons {
  208. display: table-cell;
  209. border-top-left-radius: 0px;
  210. border-bottom-left-radius: 0px;
  211. white-space: nowrap;
  212. }
  213. .ui.action.input > .button > .icon,
  214. .ui.action.input > .buttons > .button > .icon {
  215. display: inline;
  216. vertical-align: top;
  217. }
  218. .ui.fluid.action.input {
  219. display: table;
  220. width: 100%;
  221. }
  222. .ui.fluid.action.input > .button {
  223. width: 0.01%;
  224. }
  225. /*--------------------
  226. Fluid
  227. ---------------------*/
  228. .ui.fluid.input {
  229. display: block;
  230. }
  231. /*--------------------
  232. Size
  233. ---------------------*/
  234. .ui.mini.input {
  235. font-size: 0.8125em;
  236. }
  237. .ui.small.input {
  238. font-size: 0.875em;
  239. }
  240. .ui.input {
  241. font-size: 1em;
  242. }
  243. .ui.large.input {
  244. font-size: 1.125em;
  245. }
  246. .ui.big.input {
  247. font-size: 1.25em;
  248. }
  249. .ui.huge.input {
  250. font-size: 1.375em;
  251. }
  252. .ui.massive.input {
  253. font-size: 1.5rem;
  254. }
  255. .loadUIOverrides();