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.

590 lines
14 KiB

10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
  1. /*
  2. * # Semantic - Form
  3. * http://github.com/jlukic/semantic-ui/
  4. *
  5. *
  6. * Copyright 2013 Contributors
  7. * Released under the MIT license
  8. * http://opensource.org/licenses/MIT
  9. *
  10. */
  11. /*******************************
  12. Standard
  13. *******************************/
  14. /*--------------------
  15. Form
  16. ---------------------*/
  17. .ui.form {
  18. position: relative;
  19. max-width: 100%;
  20. }
  21. .ui.form :first-child {
  22. margin-top: 0em;
  23. }
  24. .ui.form :last-child {
  25. margin-bottom: 0em;
  26. }
  27. /*--------------------
  28. Content
  29. ---------------------*/
  30. .ui.form > p {
  31. margin: 1em 0;
  32. }
  33. /*--------------------
  34. Field
  35. ---------------------*/
  36. .ui.form .field {
  37. clear: both;
  38. margin: 0em 0em 1em;
  39. }
  40. /*--------------------
  41. Labels
  42. ---------------------*/
  43. .ui.form .field > label {
  44. margin: 0em 0em 0.3em;
  45. display: block;
  46. color: #555555;
  47. font-size: 0.875em;
  48. }
  49. /*--------------------
  50. Standard Inputs
  51. ---------------------*/
  52. .ui.form textarea,
  53. .ui.form input[type="text"],
  54. .ui.form input[type="email"],
  55. .ui.form input[type="date"],
  56. .ui.form input[type="password"],
  57. .ui.form input[type="number"],
  58. .ui.form input[type="url"],
  59. .ui.form input[type="tel"],
  60. .ui.form .ui.input {
  61. width: 100%;
  62. }
  63. .ui.form textarea,
  64. .ui.form input[type="text"],
  65. .ui.form input[type="email"],
  66. .ui.form input[type="date"],
  67. .ui.form input[type="password"],
  68. .ui.form input[type="number"],
  69. .ui.form input[type="url"],
  70. .ui.form input[type="tel"] {
  71. margin: 0em;
  72. padding: 0.65em 1em;
  73. font-size: 1em;
  74. background-color: #FFFFFF;
  75. border: 1px solid rgba(0, 0, 0, 0.15);
  76. outline: none;
  77. color: rgba(0, 0, 0, 0.7);
  78. border-radius: 0.3125em;
  79. -webkit-transition: background-color 0.3s ease-out, -webkit-box-shadow 0.2s ease, border-color 0.2s ease;
  80. -moz-transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease;
  81. transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease;
  82. -webkit-box-shadow: 0em 0em 0em 0em rgba(0, 0, 0, 0.3) inset;
  83. box-shadow: 0em 0em 0em 0em rgba(0, 0, 0, 0.3) inset;
  84. -webkit-appearance: none;
  85. -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  86. -webkit-box-sizing: border-box;
  87. -moz-box-sizing: border-box;
  88. -ms-box-sizing: border-box;
  89. box-sizing: border-box;
  90. }
  91. .ui.textarea,
  92. .ui.form textarea {
  93. line-height: 1.33;
  94. min-height: 8em;
  95. height: 12em;
  96. max-height: 24em;
  97. resize: vertical;
  98. }
  99. .ui.form textarea,
  100. .ui.form input[type="checkbox"] {
  101. vertical-align: top;
  102. }
  103. /*--------------------
  104. Dividers
  105. ---------------------*/
  106. .ui.form .divider {
  107. clear: both;
  108. margin: 1em 0em;
  109. }
  110. /*--------------------
  111. Types of Messages
  112. ---------------------*/
  113. .ui.form .info.message,
  114. .ui.form .warning.message,
  115. .ui.form .error.message {
  116. display: none;
  117. }
  118. /* Assumptions */
  119. .ui.form .message:first-child {
  120. margin-top: 0px;
  121. }
  122. /*--------------------
  123. Validation Prompt
  124. ---------------------*/
  125. .ui.form .field .prompt.label {
  126. white-space: nowrap;
  127. }
  128. .ui.form .inline.field .prompt {
  129. margin-top: 0em;
  130. margin-right: 1em;
  131. }
  132. .ui.form .inline.field .prompt:before {
  133. margin-top: -0.3em;
  134. bottom: auto;
  135. left: auto;
  136. top: 50%;
  137. right: 0em;
  138. }
  139. /*******************************
  140. States
  141. *******************************/
  142. /*--------------------
  143. Focus
  144. ---------------------*/
  145. .ui.form input[type="text"]:focus,
  146. .ui.form input[type="email"]:focus,
  147. .ui.form input[type="date"]:focus,
  148. .ui.form input[type="password"]:focus,
  149. .ui.form input[type="number"]:focus,
  150. .ui.form input[type="url"]:focus,
  151. .ui.form input[type="tel"]:focus,
  152. .ui.form textarea:focus {
  153. color: rgba(0, 0, 0, 0.85);
  154. border-color: rgba(0, 0, 0, 0.2);
  155. border-bottom-right-radius: 0;
  156. border-top-right-radius: 0;
  157. -webkit-appearance: none;
  158. -webkit-box-shadow: -0.3em 0em 0em 0em rgba(0, 0, 0, 0.2) inset;
  159. box-shadow: -0.3em 0em 0em 0em rgba(0, 0, 0, 0.2) inset;
  160. }
  161. /*--------------------
  162. Error
  163. ---------------------*/
  164. /* On Form */
  165. .ui.form.warning .warning.message {
  166. display: block;
  167. }
  168. /*--------------------
  169. Warning
  170. ---------------------*/
  171. /* On Form */
  172. .ui.form.error .error.message {
  173. display: block;
  174. }
  175. /* On Field(s) */
  176. .ui.form .fields.error .field label,
  177. .ui.form .field.error label,
  178. .ui.form .fields.error .field .input,
  179. .ui.form .field.error .input {
  180. color: #D95C5C;
  181. }
  182. .ui.form .fields.error .field .corner.label,
  183. .ui.form .field.error .corner.label {
  184. border-color: #D95C5C;
  185. color: #FFFFFF;
  186. }
  187. .ui.form .fields.error .field textarea,
  188. .ui.form .fields.error .field input[type="text"],
  189. .ui.form .fields.error .field input[type="email"],
  190. .ui.form .fields.error .field input[type="date"],
  191. .ui.form .fields.error .field input[type="password"],
  192. .ui.form .fields.error .field input[type="number"],
  193. .ui.form .fields.error .field input[type="url"],
  194. .ui.form .fields.error .field input[type="tel"],
  195. .ui.form .field.error textarea,
  196. .ui.form .field.error input[type="text"],
  197. .ui.form .field.error input[type="email"],
  198. .ui.form .field.error input[type="date"],
  199. .ui.form .field.error input[type="password"],
  200. .ui.form .field.error input[type="number"],
  201. .ui.form .field.error input[type="url"],
  202. .ui.form .field.error input[type="tel"] {
  203. background-color: #FFFAFA;
  204. border-color: #E7BEBE;
  205. border-right: none;
  206. color: #D95C5C;
  207. padding-right: 1.2em;
  208. border-bottom-right-radius: 0;
  209. border-top-right-radius: 0;
  210. -webkit-box-shadow: -0.3em 0em 0em 0em #D95C5C inset;
  211. box-shadow: -0.3em 0em 0em 0em #D95C5C inset;
  212. }
  213. .ui.form .field.error textarea:focus,
  214. .ui.form .field.error input[type="text"]:focus,
  215. .ui.form .field.error input[type="email"]:focus,
  216. .ui.form .field.error input[type="date"]:focus,
  217. .ui.form .field.error input[type="password"]:focus,
  218. .ui.form .field.error input[type="number"]:focus,
  219. .ui.form .field.error input[type="url"]:focus,
  220. .ui.form .field.error input[type="tel"]:focus {
  221. border-color: #ff5050;
  222. color: #ff5050;
  223. -webkit-appearance: none;
  224. -webkit-box-shadow: -0.3em 0em 0em 0em #FF5050 inset;
  225. box-shadow: -0.3em 0em 0em 0em #FF5050 inset;
  226. }
  227. /*----------------------------
  228. Dropdown Selection Warning
  229. -----------------------------*/
  230. .ui.form .fields.error .field .ui.dropdown,
  231. .ui.form .fields.error .field .ui.dropdown .item,
  232. .ui.form .field.error .ui.dropdown,
  233. .ui.form .field.error .ui.dropdown .item {
  234. background-color: #FFFAFA;
  235. color: #D95C5C;
  236. }
  237. .ui.form .fields.error .field .ui.dropdown,
  238. .ui.form .field.error .ui.dropdown {
  239. -webkit-box-shadow: 0px 0px 0px 1px #E7BEBE !important;
  240. box-shadow: 0px 0px 0px 1px #E7BEBE !important;
  241. }
  242. .ui.form .fields.error .field .ui.dropdown:hover,
  243. .ui.form .field.error .ui.dropdown:hover {
  244. -webkit-box-shadow: 0px 0px 0px 1px #E7BEBE !important;
  245. box-shadow: 0px 0px 0px 1px #E7BEBE !important;
  246. }
  247. .ui.form .fields.error .field .ui.dropdown:hover .menu,
  248. .ui.form .field.error .ui.dropdown:hover .menu {
  249. -webkit-box-shadow: 0px 1px 0px 1px #E7BEBE;
  250. box-shadow: 0px 1px 0px 1px #E7BEBE;
  251. }
  252. .ui.form .fields.error .field .ui.selection.dropdown .menu .item:hover,
  253. .ui.form .field.error .ui.selection.dropdown .menu .item:hover {
  254. background-color: #FFF2F2;
  255. }
  256. /* Currently Active Item */
  257. .ui.form .fields.error .field .ui.dropdown .menu .active.item,
  258. .ui.form .field.error .ui.dropdown .menu .active.item {
  259. background-color: #FDCFCF !important;
  260. }
  261. /*--------------------
  262. Empty (Placeholder)
  263. ---------------------*/
  264. /* browsers require these rules separate */
  265. .ui.form ::-webkit-input-placeholder {
  266. color: #AAAAAA;
  267. }
  268. .ui.form ::-moz-placeholder {
  269. color: #AAAAAA;
  270. }
  271. .ui.form :focus::-webkit-input-placeholder {
  272. color: #999999;
  273. }
  274. .ui.form :focus::-moz-placeholder {
  275. color: #999999;
  276. }
  277. /* Error Placeholder */
  278. .ui.form .error ::-webkit-input-placeholder {
  279. color: rgba(255, 80, 80, 0.4);
  280. }
  281. .ui.form .error ::-moz-placeholder {
  282. color: rgba(255, 80, 80, 0.4);
  283. }
  284. .ui.form .error :focus::-webkit-input-placeholder {
  285. color: rgba(255, 80, 80, 0.7);
  286. }
  287. .ui.form .error :focus::-moz-placeholder {
  288. color: rgba(255, 80, 80, 0.7);
  289. }
  290. /*--------------------
  291. Disabled
  292. ---------------------*/
  293. .ui.form .field :disabled,
  294. .ui.form .field.disabled {
  295. opacity: 0.5;
  296. }
  297. .ui.form .field.disabled label {
  298. opacity: 0.5;
  299. }
  300. .ui.form .field.disabled :disabled {
  301. opacity: 1;
  302. }
  303. /*--------------------
  304. Loading State
  305. ---------------------*/
  306. /* On Form */
  307. .ui.form.loading {
  308. position: relative;
  309. }
  310. .ui.form.loading:after {
  311. position: absolute;
  312. top: 0%;
  313. right: 0%;
  314. content: '';
  315. width: 100%;
  316. height: 100%;
  317. background: rgba(255, 255, 255, 0.8) url(../images/loader-large.gif) no-repeat 50% 50%;
  318. visibility: visible;
  319. }
  320. /*******************************
  321. Variations
  322. *******************************/
  323. /*--------------------
  324. Fluid Width
  325. ---------------------*/
  326. .ui.form.fluid {
  327. width: 100%;
  328. -webkit-box-sizing: border-box;
  329. -moz-box-sizing: border-box;
  330. -ms-box-sizing: border-box;
  331. box-sizing: border-box;
  332. }
  333. /*--------------------------
  334. Input w/ attached Button
  335. ---------------------------*/
  336. .ui.form input.attached {
  337. width: auto;
  338. }
  339. /*--------------------
  340. Date Input
  341. ---------------------*/
  342. .ui.form .date.field > label {
  343. position: relative;
  344. }
  345. .ui.form .date.field > label:after {
  346. position: absolute;
  347. top: 2em;
  348. left: 0.5em;
  349. font-family: 'Icons';
  350. content: '\f133';
  351. font-size: 1.2em;
  352. font-weight: normal;
  353. color: #CCCCCC;
  354. }
  355. /*--------------------
  356. Inverted Colors
  357. ---------------------*/
  358. .ui.inverted.form label {
  359. color: #FFFFFF;
  360. }
  361. .ui.inverted.form .field.error textarea,
  362. .ui.inverted.form .field.error input[type="text"],
  363. .ui.inverted.form .field.error input[type="email"],
  364. .ui.inverted.form .field.error input[type="date"],
  365. .ui.inverted.form .field.error input[type="password"],
  366. .ui.inverted.form .field.error input[type="number"],
  367. .ui.inverted.form .field.error input[type="url"],
  368. .ui.inverted.form .field.error input[type="tel"] {
  369. background-color: #FFCCCC;
  370. }
  371. .ui.inverted.form .ui.checkbox label {
  372. color: rgba(255, 255, 255, 0.8);
  373. }
  374. .ui.inverted.form .ui.checkbox label:hover,
  375. .ui.inverted.form .ui.checkbox .box:hover {
  376. color: #FFFFFF;
  377. }
  378. /*--------------------
  379. Field Groups
  380. ---------------------*/
  381. /* Grouped Vertically */
  382. .ui.form .grouped.fields {
  383. margin: 0em 0em 1em;
  384. }
  385. .ui.form .grouped.fields .field {
  386. display: block;
  387. float: none;
  388. margin: 0.5em 0em;
  389. padding: 0em;
  390. }
  391. /*--------------------
  392. Fields
  393. ---------------------*/
  394. /* Split fields */
  395. .ui.form .fields {
  396. clear: both;
  397. }
  398. .ui.form .fields:after {
  399. content: ' ';
  400. display: block;
  401. clear: both;
  402. visibility: hidden;
  403. line-height: 0;
  404. height: 0;
  405. }
  406. .ui.form .fields > .field {
  407. clear: none;
  408. float: right;
  409. -webkit-box-sizing: border-box;
  410. -moz-box-sizing: border-box;
  411. -ms-box-sizing: border-box;
  412. box-sizing: border-box;
  413. }
  414. .ui.form .fields > .field:first-child {
  415. border-right: none;
  416. -webkit-box-shadow: none;
  417. box-shadow: none;
  418. }
  419. /* Other Combinations */
  420. .ui.form .two.fields > .fields,
  421. .ui.form .two.fields > .field {
  422. width: 50%;
  423. padding-right: 1%;
  424. padding-left: 1%;
  425. }
  426. .ui.form .three.fields > .fields,
  427. .ui.form .three.fields > .field {
  428. width: 33.333%;
  429. padding-right: 1%;
  430. padding-left: 1%;
  431. }
  432. .ui.form .four.fields > .fields,
  433. .ui.form .four.fields > .field {
  434. width: 25%;
  435. padding-right: 1%;
  436. padding-left: 1%;
  437. }
  438. .ui.form .five.fields > .fields,
  439. .ui.form .five.fields > .field {
  440. width: 20%;
  441. padding-right: 1%;
  442. padding-left: 1%;
  443. }
  444. .ui.form .fields .field:first-child {
  445. padding-right: 0%;
  446. }
  447. .ui.form .fields .field:last-child {
  448. padding-left: 0%;
  449. }
  450. /* Fields grid support */
  451. .ui.form .fields .wide.field {
  452. width: 6.25%;
  453. padding-right: 1%;
  454. padding-left: 1%;
  455. }
  456. .ui.form .fields .wide.field:first-child {
  457. padding-right: 0%;
  458. }
  459. .ui.form .fields .wide.field:last-child {
  460. padding-left: 0%;
  461. }
  462. .ui.form .fields > .one.wide.field {
  463. width: 6.25%;
  464. }
  465. .ui.form .fields > .two.wide.field {
  466. width: 12.5%;
  467. }
  468. .ui.form .fields > .three.wide.field {
  469. width: 18.75%;
  470. }
  471. .ui.form .fields > .four.wide.field {
  472. width: 25%;
  473. }
  474. .ui.form .fields > .five.wide.field {
  475. width: 31.25%;
  476. }
  477. .ui.form .fields > .six.wide.field {
  478. width: 37.5%;
  479. }
  480. .ui.form .fields > .seven.wide.field {
  481. width: 43.75%;
  482. }
  483. .ui.form .fields > .eight.wide.field {
  484. width: 50%;
  485. }
  486. .ui.form .fields > .nine.wide.field {
  487. width: 56.25%;
  488. }
  489. .ui.form .fields > .ten.wide.field {
  490. width: 62.5%;
  491. }
  492. .ui.form .fields > .eleven.wide.field {
  493. width: 68.75%;
  494. }
  495. .ui.form .fields > .twelve.wide.field {
  496. width: 75%;
  497. }
  498. .ui.form .fields > .thirteen.wide.field {
  499. width: 81.25%;
  500. }
  501. .ui.form .fields > .fourteen.wide.field {
  502. width: 87.5%;
  503. }
  504. .ui.form .fields > .fifteen.wide.field {
  505. width: 93.75%;
  506. }
  507. .ui.form .fields > .sixteen.wide.field {
  508. width: 100%;
  509. }
  510. /* Swap to full width on mobile */
  511. @media only screen and (max-width: 767px) {
  512. .ui.form .two.fields > .fields,
  513. .ui.form .two.fields > .field,
  514. .ui.form .three.fields > .fields,
  515. .ui.form .three.fields > .field,
  516. .ui.form .four.fields > .fields,
  517. .ui.form .four.fields > .field,
  518. .ui.form .five.fields > .fields,
  519. .ui.form .five.fields > .field,
  520. .ui.form .fields > .two.wide.field,
  521. .ui.form .fields > .three.wide.field,
  522. .ui.form .fields > .four.wide.field,
  523. .ui.form .fields > .five.wide.field,
  524. .ui.form .fields > .six.wide.field,
  525. .ui.form .fields > .seven.wide.field,
  526. .ui.form .fields > .eight.wide.field,
  527. .ui.form .fields > .nine.wide.field,
  528. .ui.form .fields > .ten.wide.field,
  529. .ui.form .fields > .eleven.wide.field,
  530. .ui.form .fields > .twelve.wide.field,
  531. .ui.form .fields > .thirteen.wide.field,
  532. .ui.form .fields > .fourteen.wide.field,
  533. .ui.form .fields > .fifteen.wide.field,
  534. .ui.form .fields > .sixteen.wide.field {
  535. width: 100%;
  536. padding-right: 0%;
  537. padding-left: 0%;
  538. }
  539. }
  540. /*--------------------
  541. Inline Fields
  542. ---------------------*/
  543. .ui.form .inline.fields .field {
  544. min-height: 1.3em;
  545. margin-left: 0.5em;
  546. }
  547. .ui.form .inline.fields .field > label,
  548. .ui.form .inline.fields .field > p,
  549. .ui.form .inline.fields .field > .ui.input,
  550. .ui.form .inline.fields .field > input,
  551. .ui.form .inline.field > label,
  552. .ui.form .inline.field > p,
  553. .ui.form .inline.field > .ui.input,
  554. .ui.form .inline.field > input {
  555. display: inline-block;
  556. width: auto;
  557. margin-top: 0em;
  558. margin-bottom: 0em;
  559. vertical-align: middle;
  560. }
  561. .ui.form .inline.fields .field > :first-child,
  562. .ui.form .inline.field > :first-child {
  563. margin: 0em 0em 0em 0.5em;
  564. }
  565. .ui.form .inline.fields .field > :only-child,
  566. .ui.form .inline.field > :only-child {
  567. margin: 0em;
  568. }
  569. /*--------------------
  570. Sizes
  571. ---------------------*/
  572. /* Standard */
  573. .ui.small.form {
  574. font-size: 0.875em;
  575. }
  576. .ui.small.form textarea,
  577. .ui.small.form input[type="text"],
  578. .ui.small.form input[type="email"],
  579. .ui.small.form input[type="date"],
  580. .ui.small.form input[type="password"],
  581. .ui.small.form input[type="number"],
  582. .ui.small.form input[type="url"],
  583. .ui.small.form input[type="tel"],
  584. .ui.small.form label {
  585. font-size: 1em;
  586. }
  587. /* Large */
  588. .ui.large.form {
  589. font-size: 1.125em;
  590. }