|
|
/* * # Semantic - Form * http://github.com/semantic-org/semantic-ui/ * * * Copyright 2014 Contributor * Released under the MIT license * http://opensource.org/licenses/MIT * */
/******************************* Theme *******************************/
@type : 'collection'; @element : 'form';
@import '../../semantic.config';
/******************************* Elements *******************************/
/*-------------------- Form ---------------------*/
.ui.form { position: relative; max-width: 100%; }
/*-------------------- Content ---------------------*/
.ui.form > p { margin: @paragraphMargin; }
/*-------------------- Field ---------------------*/
.ui.form .field { clear: both; margin: @fieldMargin; } .ui.form :not(.fields) .field:last-child { margin-bottom: 0em; }
/*-------------------- Labels ---------------------*/
.ui.form .grouped.fields > label, .ui.form .inline.fields > label, .ui.form .field > label { margin: 0em 0em @labelMargin 0em; display: block;
color: @labelColor; font-size: @labelFontSize; font-weight: @labelFontWeight; }
/*-------------------- Standard Inputs ---------------------*/
.ui.form textarea, .ui.form input[type="text"], .ui.form input[type="email"], .ui.form input[type="date"], .ui.form input[type="password"], .ui.form input[type="number"], .ui.form input[type="url"], .ui.form input[type="tel"], .ui.form .ui.input { width: 100%; }
.ui.form input[type="text"], .ui.form input[type="email"], .ui.form input[type="date"], .ui.form input[type="password"], .ui.form input[type="number"], .ui.form input[type="url"], .ui.form input[type="tel"] { margin: 0em; outline: none; -webkit-appearance: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
line-height: @inputLineHeight; padding: @inputPadding; font-size: @inputFontSize;
background: @inputBackground; border: @inputBorder; color: @inputColor; border-radius: @inputBorderRadius; box-shadow: @inputBoxShadow; box-sizing: border-box; transition: @inputTransition; }
.ui.textarea, .ui.form textarea { margin: 0em; padding: @inputVerticalPadding @inputHorizontalPadding; font-size: @inputFontSize;
background: @inputBackground; border: @inputBorder; outline: none;
color: @inputColor; border-radius: @inputBorderRadius; box-shadow: @inputBoxShadow;
-webkit-appearance: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); box-sizing: border-box; transition: @inputTransition;
font-size: @textAreaFontSize;
height: @textAreaHeight; min-height: @textAreaMinHeight; max-height: @textAreaMaxHeight; line-height: @textAreaLineHeight; resize: @textAreaResize; }
.ui.form textarea, .ui.form input[type="checkbox"] { vertical-align: @checkboxVerticalAlign; }
/*-------------------------- Input w/ attached Button ---------------------------*/
.ui.form input.attached { width: auto; }
/*-------------------- Dropdown ---------------------*/
.ui.form .field > .selection.dropdown { width: 100%; } .ui.form .field > .selection.dropdown > .dropdown.icon { float: right; }
.ui.form .inline.field > .selection.dropdown { width: auto; } .ui.form .inline.field > .selection.dropdown > .dropdown.icon { float: none; }
/*-------------------- Dividers ---------------------*/
.ui.form .divider { clear: both; margin: @dividerMargin; }
/*-------------------- Types of Messages ---------------------*/
.ui.form .info.message, .ui.form .success.message, .ui.form .warning.message, .ui.form .error.message { display: none; }
/* Assumptions */ .ui.form .message:first-child { margin-top: 0px; }
/*-------------------- Validation Prompt ---------------------*/
.ui.form .field .prompt.label { white-space: nowrap; } .ui.form .inline.field .prompt { margin: @validationMargin; } .ui.form .inline.field .prompt:before { margin-top: @validationArrowOffset; bottom: auto; right: auto; top: 50%; left: 0em; }
/******************************* States *******************************/
/*-------------------- Placeholder ---------------------*/
/* browsers require these rules separate */ .ui.form ::-webkit-input-placeholder { color: @inputPlaceholderColor; } .ui.form ::-moz-placeholder { color: @inputPlaceholderColor; } .ui.form :focus::-webkit-input-placeholder { color: @inputPlaceholderFocusColor; } .ui.form :focus::-moz-placeholder { color: @inputPlaceholderFocusColor; }
/* Error Placeholder */ .ui.form .error ::-webkit-input-placeholder { color: @inputErrorPlaceholderColor; } .ui.form .error ::-moz-placeholder { color: @inputErrorPlaceholderColor; } .ui.form .error :focus::-webkit-input-placeholder { color: @inputErrorPlaceholderFocusColor; } .ui.form .error :focus::-moz-placeholder { color: @inputErrorPlaceholderFocusColor; }
/*-------------------- Focus ---------------------*/
.ui.form input[type="text"]:focus, .ui.form input[type="email"]:focus, .ui.form input[type="date"]:focus, .ui.form input[type="password"]:focus, .ui.form input[type="number"]:focus, .ui.form input[type="url"]:focus, .ui.form input[type="tel"]:focus, .ui.form textarea:focus{ color: @inputFocusColor; border-color: @inputFocusBorderColor; border-radius: @inputFocusBorderRadius; background: @inputFocusBackground; box-shadow: @inputFocusBoxShadow; -webkit-appearance: none; }
/*-------------------- Success ---------------------*/
/* On Form */ .ui.form.success .success.message { display: block; }
/*-------------------- Error ---------------------*/
/* On Form */ .ui.form.warning .warning.message { display: block; }
/*-------------------- Warning ---------------------*/
/* On Form */ .ui.form.error .error.message { display: block; }
/* On Field(s) */ .ui.form .fields.error .field label, .ui.form .field.error label, .ui.form .fields.error .field .input, .ui.form .field.error .input { color: @formErrorColor; }
.ui.form .fields.error .field .corner.label, .ui.form .field.error .corner.label { border-color: @formErrorColor; color: @white; }
.ui.form .fields.error .field textarea, .ui.form .fields.error .field input[type="text"], .ui.form .fields.error .field input[type="email"], .ui.form .fields.error .field input[type="date"], .ui.form .fields.error .field input[type="password"], .ui.form .fields.error .field input[type="number"], .ui.form .fields.error .field input[type="url"], .ui.form .fields.error .field input[type="tel"], .ui.form .field.error textarea, .ui.form .field.error input[type="text"], .ui.form .field.error input[type="email"], .ui.form .field.error input[type="date"], .ui.form .field.error input[type="password"], .ui.form .field.error input[type="number"], .ui.form .field.error input[type="url"], .ui.form .field.error input[type="tel"] { background: @formErrorBackground; border-color: @formErrorBorder; color: @formErrorColor; border-radius: @inputErrorBorderRadius; box-shadow: @inputErrorBoxShadow; } .ui.form .field.error textarea:focus, .ui.form .field.error input[type="text"]:focus, .ui.form .field.error input[type="email"]:focus, .ui.form .field.error input[type="date"]:focus, .ui.form .field.error input[type="password"]:focus, .ui.form .field.error input[type="number"]:focus, .ui.form .field.error input[type="url"]:focus, .ui.form .field.error input[type="tel"]:focus{ background: @inputErrorFocusBackground; border-color: @inputErrorFocusBorder; color: @inputErrorFocusColor;
-webkit-appearance: none; box-shadow: @inputErrorFocusBoxShadow; }
/*------------------ Dropdown Error --------------------*/
.ui.form .fields.error .field .ui.dropdown, .ui.form .fields.error .field .ui.dropdown .item, .ui.form .field.error .ui.dropdown, .ui.form .field.error .ui.dropdown .text, .ui.form .field.error .ui.dropdown .item { background: @formErrorBackground; color: @formErrorColor; } .ui.form .fields.error .field .ui.dropdown, .ui.form .field.error .ui.dropdown { box-shadow: 0px 0px 0px 1px @formErrorBorder !important; } .ui.form .fields.error .field .ui.dropdown:hover, .ui.form .field.error .ui.dropdown:hover { box-shadow: 0px 0px 0px 1px @formErrorBorder !important; } .ui.form .fields.error .field .ui.dropdown:hover .menu, .ui.form .field.error .ui.dropdown:hover .menu { box-shadow: 0px 1px 0px 1px @formErrorBorder; } /* Hover */ .ui.form .fields.error .field .ui.dropdown .menu .item:hover, .ui.form .field.error .ui.dropdown .menu .item:hover { background-color: @dropdownErrorHoverBackground; } /* Active */ .ui.form .fields.error .field .ui.dropdown .menu .active.item, .ui.form .field.error .ui.dropdown .menu .active.item { background-color: @dropdownErrorActiveBackground !important; }
/*-------------------- Checkbox Error ---------------------*/
.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label, .ui.form .field.error .checkbox:not(.toggle):not(.slider) label, .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box, .ui.form .field.error .checkbox:not(.toggle):not(.slider) .box { color: @formErrorColor; } .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before, .ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before, .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before, .ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before { background: @formErrorBackground; border-color: @formErrorBorder; } .ui.form .fields.error .field .checkbox label:after, .ui.form .field.error .checkbox label:after, .ui.form .fields.error .field .checkbox .box:after, .ui.form .field.error .checkbox .box:after { color: @formErrorColor; }
/*-------------------- Disabled ---------------------*/
.ui.form .field :disabled, .ui.form .field.disabled { opacity: 0.5; } .ui.form .field.disabled label { opacity: 0.5; } .ui.form .field.disabled :disabled { opacity: 1; }
/*-------------------- Loading State ---------------------*/
/* On Form */ .ui.form.loading { position: relative; } .ui.form.loading:after { position: absolute; top: 0%; left: 0%; content: '';
width: 100%; height: 100%; background: @formLoaderDimmerColor url(@formLoaderPath) no-repeat @formLoaderPosition; visibility: visible; }
/******************************* Element Types *******************************/
/*-------------------- Required Field ---------------------*/
.ui.form .required.fields > .field > label:after, .ui.form .required.fields > .field > .checkbox:after, .ui.form .required.field > label:after, .ui.form .required.field > .checkbox:after { margin: -0.2em 0em 0em 0.2em; vertical-align: top; content: '*'; color: @requiredColor; }
/*-------------------- Date Input ---------------------*/
.ui.form .date.field > label { position: relative; } .ui.form .date.field > label:after { position: absolute; top: 2em; right: 0.5em; font-family: 'Icons'; content: '\f133'; font-size: 1.2em; font-weight: normal; color: #CCCCCC; }
/******************************* Variations *******************************/
/*-------------------- Inverted Colors ---------------------*/
.ui.inverted.form label, .ui.form .inverted.segment label, .ui.form .inverted.segment .ui.checkbox label, .ui.form .inverted.segment .ui.checkbox .box, .ui.inverted.form .ui.checkbox label, .ui.inverted.form .ui.checkbox .box { color: @invertedLabelColor; } .ui.inverted.form.loading:after { background: @formInvertedLoaderDimmerColor url(@formInvertedLoaderPath) no-repeat @formLoaderPosition; }
/*-------------------- Field Groups ---------------------*/
/* Grouped Vertically */ .ui.form .grouped.fields { margin: @groupedMargin; } .ui.form .grouped.fields:last-child { margin-bottom: 0em; } .ui.form .grouped.fields .field { display: block; float: none; margin: @groupedFieldMargin; padding: 0em; }
/*-------------------- Fields ---------------------*/
/* Split fields */ .ui.form .fields { clear: both; } .ui.form .fields:after { content: ' '; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; } .ui.form .fields > .field { clear: none; float: left; box-sizing: border-box; padding-left: @gutterWidth; padding-right: @gutterWidth; } .ui.form .fields > .field:first-child { border-left: none; box-shadow: none; }
/* Other Combinations */ .ui.form .two.fields > .fields, .ui.form .two.fields > .field { width: @twoColumn; } .ui.form .three.fields > .fields, .ui.form .three.fields > .field { width: @threeColumn; } .ui.form .four.fields > .fields, .ui.form .four.fields > .field { width: @fourColumn; } .ui.form .five.fields > .fields, .ui.form .five.fields > .field { width: @fiveColumn; }
/* Swap to full width on mobile */ @media only screen and (max-width : 767px) { .ui.form .two.fields > .fields, .ui.form .two.fields > .field, .ui.form .three.fields > .fields, .ui.form .three.fields > .field, .ui.form .four.fields > .fields, .ui.form .four.fields > .field, .ui.form .five.fields > .fields, .ui.form .five.fields > .field { width: @oneColumn; padding-left: 0%; padding-right: 0%; } }
.ui.form .fields .field:first-child { padding-left: 0%; } .ui.form .fields .field:last-child { padding-right: 0%; }
/* Sizing Combinations */
.ui.form .fields .wide.field { width: @oneWide; padding-left: @gutterWidth; padding-right: @gutterWidth; } .ui.form .fields .wide.field:first-child { padding-left: 0%; } .ui.form .fields .wide.field:last-child { padding-right: 0%; }
.ui.form .one.wide.field { width: @oneWide !important; } .ui.form .two.wide.field { width: @twoWide !important; } .ui.form .three.wide.field { width: @threeWide !important; } .ui.form .four.wide.field { width: @fourWide !important; } .ui.form .five.wide.field { width: @fiveWide !important; } .ui.form .six.wide.field { width: @sixWide !important; } .ui.form .seven.wide.field { width: @sevenWide !important; } .ui.form .eight.wide.field { width: @eightWide !important; } .ui.form .nine.wide.field { width: @nineWide !important; } .ui.form .ten.wide.field { width: @tenWide !important; } .ui.form .eleven.wide.field { width: @elevenWide !important; } .ui.form .twelve.wide.field { width: @twelveWide !important; } .ui.form .thirteen.wide.field { width: @thirteenWide !important; } .ui.form .fourteen.wide.field { width: @fourteenWide !important; } .ui.form .fifteen.wide.field { width: @fifteenWide !important; } .ui.form .sixteen.wide.field { width: @sixteenWide !important; }
/* Swap to full width on mobile */ @media only screen and (max-width : 767px) { .ui.form .two.fields > .fields, .ui.form .two.fields > .field, .ui.form .three.fields > .fields, .ui.form .three.fields > .field, .ui.form .four.fields > .fields, .ui.form .four.fields > .field, .ui.form .five.fields > .fields, .ui.form .five.fields > .field, .ui.form .fields > .two.wide.field, .ui.form .fields > .three.wide.field, .ui.form .fields > .four.wide.field, .ui.form .fields > .five.wide.field, .ui.form .fields > .six.wide.field, .ui.form .fields > .seven.wide.field, .ui.form .fields > .eight.wide.field, .ui.form .fields > .nine.wide.field, .ui.form .fields > .ten.wide.field, .ui.form .fields > .eleven.wide.field, .ui.form .fields > .twelve.wide.field, .ui.form .fields > .thirteen.wide.field, .ui.form .fields > .fourteen.wide.field, .ui.form .fields > .fifteen.wide.field, .ui.form .fields > .sixteen.wide.field { width: @oneColumn; padding-left: 0%; padding-right: 0%; } }
/*-------------------- Inline Fields ---------------------*/
.ui.form .inline.fields { margin: @fieldMargin; } .ui.form .inline.fields .field { display: inline-block; margin: @inlineFieldsMargin; padding: 0em; } .ui.form .inline.fields .field > label, .ui.form .inline.fields .field > p, .ui.form .inline.fields .field > input, .ui.form .inline.field > label, .ui.form .inline.field > p, .ui.form .inline.field > input { display: inline-block; width: auto;
margin-top: 0em; margin-bottom: 0em;
vertical-align: @inlineLabelVerticalAlign; font-size: @inlineLabelFontSize; } .ui.form .inline.fields .field > input, .ui.form .inline.field > input { font-size: @inlineLabelFontSize; }
/* Label */ .ui.form .inline.fields .field > :first-child, .ui.form .inline.field > :first-child { margin: 0em @labelMargin 0em 0em; } .ui.form .inline.fields .field > :only-child, .ui.form .inline.field > :only-child { margin: 0em; }
/*-------------------- Sizes ---------------------*/
/* Standard */ .ui.small.form { font-size: @small; }
/* Medium */ .ui.form { font-size: @medium; }
/* Large */ .ui.large.form { font-size: @large; }
/* Huge */ .ui.huge.form { font-size: @huge; }
|