.form-control-validation(@text-color: @input-color; @border-color: @input-border-color; @background-color: @input-bg) { .@{css-prefix}form-explain, .@{css-prefix}form-split { color: @text-color; } // 输入框的不同校验状态 .@{css-prefix}input { border-color: @border-color; box-shadow: 0 0 0 2px tint(@border-color, 80%); &:not([disabled]):hover { border-color: @border-color; } } .@{prefixCalendarClass}-picker-open .@{prefixCalendarClass}-picker-input { box-shadow: 0 0 0 2px tint(@border-color, 80%); } .@{css-prefix}input-group-addon { color: @text-color; border-color: @border-color; background-color: @background-color; } .has-feedback { color: @text-color; } } // Reset form styles // ----------------------------- // Based on Bootstrap framework .reset-form() { fieldset { padding: 0; margin: 0; border: 0; min-width: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 14px; line-height: inherit; color: @legend-color; border: 0; border-bottom: 1px solid @legend-border-color; } label { display: inline-block; font-size: @font-size-base; max-width: 100%; } input[type="search"] { .box-sizing(border-box); } // Position radios and checkboxes better input[type="radio"], input[type="checkbox"] { line-height: normal; } input[type="file"] { display: block; } // Make range inputs behave like textual form controls input[type="range"] { display: block; width: 100%; } // Make multiple select elements height not fixed select[multiple], select[size] { height: auto; } // Focus for file, radio, and checkbox input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } // Adjust output element output { display: block; padding-top: 15px; font-size: @font-size-base; line-height: @line-height-base; color: @input-color; } }