1
0

input.css 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561
  1. /*!
  2. * # Fomantic-UI - Input
  3. * http://github.com/fomantic/Fomantic-UI/
  4. *
  5. *
  6. * Released under the MIT license
  7. * http://opensource.org/licenses/MIT
  8. *
  9. */
  10. /*******************************
  11. Standard
  12. *******************************/
  13. /*--------------------
  14. Inputs
  15. ---------------------*/
  16. .ui.input {
  17. position: relative;
  18. font-weight: normal;
  19. font-style: normal;
  20. display: -webkit-inline-box;
  21. display: -ms-inline-flexbox;
  22. display: inline-flex;
  23. color: #AAAAAA;
  24. }
  25. .ui.input > input {
  26. margin: 0;
  27. max-width: 100%;
  28. -webkit-box-flex: 1;
  29. -ms-flex: 1 0 auto;
  30. flex: 1 0 auto;
  31. outline: none;
  32. -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  33. text-align: left;
  34. line-height: 1.21428571em;
  35. font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  36. padding: 0.67857143em 1em;
  37. background: #FFFFFF;
  38. border: 1px solid rgba(34, 36, 38, 0.15);
  39. color: #AAAAAA;
  40. border-radius: 0.28571429rem;
  41. -webkit-transition: border-color 0.1s ease, -webkit-box-shadow 0.1s ease;
  42. transition: border-color 0.1s ease, -webkit-box-shadow 0.1s ease;
  43. transition: box-shadow 0.1s ease, border-color 0.1s ease;
  44. transition: box-shadow 0.1s ease, border-color 0.1s ease, -webkit-box-shadow 0.1s ease;
  45. -webkit-box-shadow: none;
  46. box-shadow: none;
  47. }
  48. /*--------------------
  49. Placeholder
  50. ---------------------*/
  51. /* browsers require these rules separate */
  52. .ui.input > input::-webkit-input-placeholder {
  53. color: #ffffff;
  54. }
  55. .ui.input > input::-moz-placeholder {
  56. color: #ffffff;
  57. }
  58. .ui.input > input:-ms-input-placeholder {
  59. color: #ffffff;
  60. }
  61. /*******************************
  62. States
  63. *******************************/
  64. /*--------------------
  65. Disabled
  66. ---------------------*/
  67. .ui.disabled.input,
  68. .ui.input:not(.disabled) input[disabled] {
  69. opacity: 0.45;
  70. }
  71. .ui.disabled.input > input,
  72. .ui.input:not(.disabled) input[disabled] {
  73. pointer-events: none;
  74. }
  75. /*--------------------
  76. Active
  77. ---------------------*/
  78. .ui.input > input:active,
  79. .ui.input.down input {
  80. border-color: rgba(0, 0, 0, 0.3);
  81. background: #FAFAFA;
  82. color: #AAAAAA;
  83. -webkit-box-shadow: none;
  84. box-shadow: none;
  85. }
  86. /*--------------------
  87. Loading
  88. ---------------------*/
  89. .ui.loading.loading.input > i.icon:before {
  90. position: absolute;
  91. content: '';
  92. top: 50%;
  93. left: 50%;
  94. margin: -0.64285714em 0 0 -0.64285714em;
  95. width: 1.28571429em;
  96. height: 1.28571429em;
  97. border-radius: 500rem;
  98. border: 0.2em solid rgba(0, 0, 0, 0.1);
  99. }
  100. .ui.loading.loading.input > i.icon:after {
  101. position: absolute;
  102. content: '';
  103. top: 50%;
  104. left: 50%;
  105. margin: -0.64285714em 0 0 -0.64285714em;
  106. width: 1.28571429em;
  107. height: 1.28571429em;
  108. -webkit-animation: loader 0.6s infinite linear;
  109. animation: loader 0.6s infinite linear;
  110. border: 0.2em solid #767676;
  111. border-radius: 500rem;
  112. -webkit-box-shadow: 0 0 0 1px transparent;
  113. box-shadow: 0 0 0 1px transparent;
  114. }
  115. /*--------------------
  116. Focus
  117. ---------------------*/
  118. .ui.input.focus > input,
  119. .ui.input > input:focus {
  120. border-color: #85B7D9;
  121. background: #FFFFFF;
  122. color: rgba(0, 0, 0, 0.8);
  123. -webkit-box-shadow: none;
  124. box-shadow: none;
  125. }
  126. .ui.input.focus > input::-webkit-input-placeholder,
  127. .ui.input > input:focus::-webkit-input-placeholder {
  128. color: #ffffff;
  129. }
  130. .ui.input.focus > input::-moz-placeholder,
  131. .ui.input > input:focus::-moz-placeholder {
  132. color: #ffffff;
  133. }
  134. .ui.input.focus > input:-ms-input-placeholder,
  135. .ui.input > input:focus:-ms-input-placeholder {
  136. color: #ffffff;
  137. }
  138. /*--------------------
  139. Error
  140. ---------------------*/
  141. .ui.input.error > input {
  142. background-color: #FFF6F6;
  143. border-color: #E0B4B4;
  144. color: #9F3A38;
  145. -webkit-box-shadow: none;
  146. box-shadow: none;
  147. }
  148. /* Error Placeholder */
  149. .ui.input.error > input::-webkit-input-placeholder {
  150. color: #e7bdbc;
  151. }
  152. .ui.input.error > input::-moz-placeholder {
  153. color: #e7bdbc;
  154. }
  155. .ui.input.error > input:-ms-input-placeholder {
  156. color: #e7bdbc !important;
  157. }
  158. /* Focused Error Placeholder */
  159. .ui.input.error > input:focus::-webkit-input-placeholder {
  160. color: #da9796;
  161. }
  162. .ui.input.error > input:focus::-moz-placeholder {
  163. color: #da9796;
  164. }
  165. .ui.input.error > input:focus:-ms-input-placeholder {
  166. color: #da9796 !important;
  167. }
  168. /*******************************
  169. Variations
  170. *******************************/
  171. /*--------------------
  172. Transparent
  173. ---------------------*/
  174. .ui.transparent.input > textarea,
  175. .ui.transparent.input > input {
  176. border-color: transparent !important;
  177. background-color: transparent !important;
  178. padding: 0;
  179. -webkit-box-shadow: none !important;
  180. box-shadow: none !important;
  181. border-radius: 0 !important;
  182. }
  183. .field .ui.transparent.input > textarea {
  184. padding: 0.67857143em 1em;
  185. }
  186. /* Transparent Icon */
  187. :not(.field) > .ui.transparent.icon.input > i.icon {
  188. width: 1.1em;
  189. }
  190. :not(.field) > .ui.transparent.icon.input > input {
  191. padding-left: 0;
  192. padding-right: 2em;
  193. }
  194. :not(.field) > .ui.transparent[class*="left icon"].input > input {
  195. padding-left: 2em;
  196. padding-right: 0;
  197. }
  198. /* Transparent Inverted */
  199. .ui.transparent.inverted.input {
  200. color: #FFFFFF;
  201. }
  202. .ui.ui.transparent.inverted.input > textarea,
  203. .ui.ui.transparent.inverted.input > input {
  204. color: inherit;
  205. }
  206. .ui.transparent.inverted.input > input::-webkit-input-placeholder {
  207. color: rgba(255, 255, 255, 0.5);
  208. }
  209. .ui.transparent.inverted.input > input::-moz-placeholder {
  210. color: rgba(255, 255, 255, 0.5);
  211. }
  212. .ui.transparent.inverted.input > input:-ms-input-placeholder {
  213. color: rgba(255, 255, 255, 0.5);
  214. }
  215. /*--------------------
  216. Icon
  217. ---------------------*/
  218. .ui.icon.input > i.icon {
  219. cursor: default;
  220. position: absolute;
  221. line-height: 1;
  222. text-align: center;
  223. top: 0;
  224. right: 0;
  225. margin: 0;
  226. height: 100%;
  227. width: 2.67142857em;
  228. opacity: 0.5;
  229. border-radius: 0 0.28571429rem 0.28571429rem 0;
  230. -webkit-transition: opacity 0.3s ease;
  231. transition: opacity 0.3s ease;
  232. }
  233. .ui.icon.input > i.icon:not(.link) {
  234. pointer-events: none;
  235. }
  236. .ui.ui.icon.input > textarea,
  237. .ui.ui.icon.input > input {
  238. padding-right: 2.67142857em;
  239. }
  240. .ui.icon.input > i.icon:before,
  241. .ui.icon.input > i.icon:after {
  242. left: 0;
  243. position: absolute;
  244. text-align: center;
  245. top: 50%;
  246. width: 100%;
  247. margin-top: -0.5em;
  248. }
  249. .ui.icon.input > i.link.icon {
  250. cursor: pointer;
  251. }
  252. .ui.icon.input > i.circular.icon {
  253. top: 0.35em;
  254. right: 0.5em;
  255. }
  256. /* Left Icon Input */
  257. .ui[class*="left icon"].input > i.icon {
  258. right: auto;
  259. left: 1px;
  260. border-radius: 0.28571429rem 0 0 0.28571429rem;
  261. }
  262. .ui[class*="left icon"].input > i.circular.icon {
  263. right: auto;
  264. left: 0.5em;
  265. }
  266. .ui.ui[class*="left icon"].input > textarea,
  267. .ui.ui[class*="left icon"].input > input {
  268. padding-left: 2.67142857em;
  269. padding-right: 1em;
  270. }
  271. /* Focus */
  272. .ui.icon.input > textarea:focus ~ i.icon,
  273. .ui.icon.input > input:focus ~ i.icon {
  274. opacity: 1;
  275. }
  276. /*--------------------
  277. Labeled
  278. ---------------------*/
  279. /* Adjacent Label */
  280. .ui.labeled.input > .label {
  281. -webkit-box-flex: 0;
  282. -ms-flex: 0 0 auto;
  283. flex: 0 0 auto;
  284. margin: 0;
  285. font-size: 1em;
  286. }
  287. .ui.labeled.input > .label:not(.corner) {
  288. padding-top: 0.78571429em;
  289. padding-bottom: 0.78571429em;
  290. }
  291. /* Regular Label on Left */
  292. .ui.labeled.input:not([class*="corner labeled"]) .label:first-child {
  293. border-top-right-radius: 0;
  294. border-bottom-right-radius: 0;
  295. }
  296. .ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input {
  297. border-top-left-radius: 0;
  298. border-bottom-left-radius: 0;
  299. border-left-color: transparent;
  300. }
  301. .ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input:focus {
  302. border-left-color: #85B7D9;
  303. }
  304. /* Regular Label on Right */
  305. .ui[class*="right labeled"].input > input {
  306. border-top-right-radius: 0 !important;
  307. border-bottom-right-radius: 0 !important;
  308. border-right-color: transparent !important;
  309. }
  310. .ui[class*="right labeled"].input > input + .label {
  311. border-top-left-radius: 0;
  312. border-bottom-left-radius: 0;
  313. }
  314. .ui[class*="right labeled"].input > input:focus {
  315. border-right-color: #85B7D9 !important;
  316. }
  317. /* Corner Label */
  318. .ui.labeled.input .corner.label {
  319. top: 1px;
  320. right: 1px;
  321. font-size: 0.64285714em;
  322. border-radius: 0 0.28571429rem 0 0;
  323. }
  324. /* Spacing with corner label */
  325. .ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input > textarea,
  326. .ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input > input {
  327. padding-right: 2.5em !important;
  328. }
  329. .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > textarea,
  330. .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > input {
  331. padding-right: 3.25em !important;
  332. }
  333. .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > .icon {
  334. margin-right: 1.25em;
  335. }
  336. /* Left Labeled */
  337. .ui[class*="left corner labeled"].labeled.input > textarea,
  338. .ui[class*="left corner labeled"].labeled.input > input {
  339. padding-left: 2.5em !important;
  340. }
  341. .ui[class*="left corner labeled"].icon.input > textarea,
  342. .ui[class*="left corner labeled"].icon.input > input {
  343. padding-left: 3.25em !important;
  344. }
  345. .ui[class*="left corner labeled"].icon.input > .icon {
  346. margin-left: 1.25em;
  347. }
  348. .ui.icon.input > textarea ~ .icon {
  349. height: 3em;
  350. }
  351. :not(.field) > .ui.transparent.icon.input > textarea ~ .icon {
  352. height: 1.3em;
  353. }
  354. /* Corner Label Position */
  355. .ui.input > .ui.corner.label {
  356. top: 1px;
  357. right: 1px;
  358. }
  359. .ui.input > .ui.left.corner.label {
  360. right: auto;
  361. left: 1px;
  362. }
  363. /* Labeled and action input error */
  364. .ui.form > .field.error > .ui.action.input > .ui.button,
  365. .ui.form > .field.error > .ui.labeled.input:not([class*="corner labeled"]) > .ui.label,
  366. .ui.action.input.error > .ui.button,
  367. .ui.labeled.input.error:not([class*="corner labeled"]) > .ui.label {
  368. border-top: 1px solid #E0B4B4;
  369. border-bottom: 1px solid #E0B4B4;
  370. }
  371. .ui.form > .field.error > .ui.left.action.input > .ui.button,
  372. .ui.form > .field.error > .ui.labeled.input:not(.right):not([class*="corner labeled"]) > .ui.label,
  373. .ui.left.action.input.error > .ui.button,
  374. .ui.labeled.input.error:not(.right):not([class*="corner labeled"]) > .ui.label {
  375. border-left: 1px solid #E0B4B4;
  376. }
  377. .ui.form > .field.error > .ui.action.input:not(.left) > input + .ui.button,
  378. .ui.form > .field.error > .ui.right.labeled.input:not([class*="corner labeled"]) > input + .ui.label,
  379. .ui.action.input.error:not(.left) > input + .ui.button,
  380. .ui.right.labeled.input.error:not([class*="corner labeled"]) > input + .ui.label {
  381. border-right: 1px solid #E0B4B4;
  382. }
  383. .ui.form > .field.error > .ui.right.labeled.input:not([class*="corner labeled"]) > .ui.label:first-child,
  384. .ui.right.labeled.input.error:not([class*="corner labeled"]) > .ui.label:first-child {
  385. border-left: 1px solid #E0B4B4;
  386. }
  387. /*--------------------
  388. Action
  389. ---------------------*/
  390. .ui.action.input > .button,
  391. .ui.action.input > .buttons {
  392. display: -webkit-box;
  393. display: -ms-flexbox;
  394. display: flex;
  395. -webkit-box-align: center;
  396. -ms-flex-align: center;
  397. align-items: center;
  398. -webkit-box-flex: 0;
  399. -ms-flex: 0 0 auto;
  400. flex: 0 0 auto;
  401. }
  402. .ui.action.input > .button,
  403. .ui.action.input > .buttons > .button {
  404. padding-top: 0.78571429em;
  405. padding-bottom: 0.78571429em;
  406. margin: 0;
  407. }
  408. /* Button on Right */
  409. .ui.action.input:not([class*="left action"]) > input {
  410. border-top-right-radius: 0 !important;
  411. border-bottom-right-radius: 0 !important;
  412. border-right-color: transparent !important;
  413. }
  414. .ui.action.input:not([class*="left action"]) > .dropdown:not(:first-child),
  415. .ui.action.input:not([class*="left action"]) > .button:not(:first-child),
  416. .ui.action.input:not([class*="left action"]) > .buttons:not(:first-child) > .button {
  417. border-radius: 0;
  418. }
  419. .ui.action.input:not([class*="left action"]) > .dropdown:last-child,
  420. .ui.action.input:not([class*="left action"]) > .button:last-child,
  421. .ui.action.input:not([class*="left action"]) > .buttons:last-child > .button {
  422. border-radius: 0 0.28571429rem 0.28571429rem 0;
  423. }
  424. /* Input Focus */
  425. .ui.action.input:not([class*="left action"]) > input:focus {
  426. border-right-color: #85B7D9 !important;
  427. }
  428. /* Button on Left */
  429. .ui[class*="left action"].input > input {
  430. border-top-left-radius: 0 !important;
  431. border-bottom-left-radius: 0 !important;
  432. border-left-color: transparent !important;
  433. }
  434. .ui[class*="left action"].input > .dropdown,
  435. .ui[class*="left action"].input > .button,
  436. .ui[class*="left action"].input > .buttons > .button {
  437. border-radius: 0;
  438. }
  439. .ui[class*="left action"].input > .dropdown:first-child,
  440. .ui[class*="left action"].input > .button:first-child,
  441. .ui[class*="left action"].input > .buttons:first-child > .button {
  442. border-radius: 0.28571429rem 0 0 0.28571429rem;
  443. }
  444. /* Input Focus */
  445. .ui[class*="left action"].input > input:focus {
  446. border-left-color: #85B7D9 !important;
  447. }
  448. /*--------------------
  449. Inverted
  450. ---------------------*/
  451. /* Standard */
  452. .ui.inverted.input > input {
  453. border: none;
  454. }
  455. /*--------------------
  456. Fluid
  457. ---------------------*/
  458. .ui.fluid.input {
  459. display: -webkit-box;
  460. display: -ms-flexbox;
  461. display: flex;
  462. }
  463. .ui.fluid.input > input {
  464. width: 0 !important;
  465. }
  466. /*--------------------
  467. Size
  468. ---------------------*/
  469. .ui.mini.input {
  470. font-size: 0.78571429em;
  471. }
  472. .ui.tiny.input {
  473. font-size: 0.85714286em;
  474. }
  475. .ui.small.input {
  476. font-size: 0.92857143em;
  477. }
  478. .ui.input {
  479. font-size: 1em;
  480. }
  481. .ui.large.input {
  482. font-size: 1.14285714em;
  483. }
  484. .ui.big.input {
  485. font-size: 1.28571429em;
  486. }
  487. .ui.huge.input {
  488. font-size: 1.42857143em;
  489. }
  490. .ui.massive.input {
  491. font-size: 1.71428571em;
  492. }
  493. /*******************************
  494. Theme Overrides
  495. *******************************/
  496. /*******************************
  497. Site Overrides
  498. *******************************/