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.

329 lines
6.3 KiB

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