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.

320 lines
6.1 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. 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. /* Transparent Icon */
  172. .ui.transparent.icon.input > .icon {
  173. width: @transparentIconWidth;
  174. padding-top: @transparentIconOffset;
  175. }
  176. .ui.transparent.icon.input > input {
  177. padding-left: 0em !important;
  178. padding-right: @transparentIconMargin !important;
  179. }
  180. .ui.transparent.left.icon.input > input {
  181. padding-left: 0em !important;
  182. padding-left: @transparentIconMargin !important;
  183. }
  184. /* Focus */
  185. .ui.icon.input > input:focus ~ .icon {
  186. opacity: 1;
  187. }
  188. /*--------------------
  189. Labeled
  190. ---------------------*/
  191. .ui.labeled.input .corner.label {
  192. top: @labelTop;
  193. right: @labelRight;
  194. font-size: @labelSize;
  195. border-radius: 0em @borderRadius 0em 0em;
  196. }
  197. .ui.labeled.input input {
  198. padding-right: @labeledMargin !important;
  199. }
  200. /* Spacing with corner label */
  201. .ui.labeled.icon.input:not(.left) > input {
  202. padding-right: @labeledIconInputMargin !important;
  203. }
  204. .ui.labeled.icon.input:not(.left) > .icon {
  205. margin-right: @labeledIconMargin;
  206. }
  207. /*--------------------
  208. Action
  209. ---------------------*/
  210. .ui.action.input {
  211. display: table;
  212. }
  213. .ui.action.input > input {
  214. display: table-cell;
  215. border-top-right-radius: 0px !important;
  216. border-bottom-right-radius: 0px !important;
  217. border-right: none;
  218. }
  219. .ui.action.input > .button,
  220. .ui.action.input > .buttons {
  221. display: table-cell;
  222. border-top-left-radius: 0px;
  223. border-bottom-left-radius: 0px;
  224. white-space: nowrap;
  225. }
  226. .ui.action.input > .button > .icon,
  227. .ui.action.input > .buttons > .button > .icon {
  228. display: inline;
  229. vertical-align: top;
  230. }
  231. .ui.fluid.action.input {
  232. display: table;
  233. width: 100%;
  234. }
  235. .ui.fluid.action.input > .button {
  236. width: 0.01%;
  237. }
  238. /*--------------------
  239. Fluid
  240. ---------------------*/
  241. .ui.fluid.input {
  242. display: block;
  243. }
  244. /*--------------------
  245. Size
  246. ---------------------*/
  247. .ui.mini.input {
  248. font-size: 0.8125em;
  249. }
  250. .ui.small.input {
  251. font-size: 0.875em;
  252. }
  253. .ui.input {
  254. font-size: 1em;
  255. }
  256. .ui.large.input {
  257. font-size: 1.125em;
  258. }
  259. .ui.big.input {
  260. font-size: 1.25em;
  261. }
  262. .ui.huge.input {
  263. font-size: 1.375em;
  264. }
  265. .ui.massive.input {
  266. font-size: 1.5rem;
  267. }
  268. .loadUIOverrides();