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.

327 lines
6.2 KiB

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