UNPKG

unique-interface

Version:

无UI组件库

324 lines (310 loc) 6.93 kB
/* * Styles for form components * * Include: * ui-form * ui-form-item * ui-radio * ui-radio-group * ui-checkbox * ui-checkbox-group * ui-select * ui-option * ui-upload * * Nice to meet you * */ /* form */ .ui-form-footer { margin-top: @form-gap-vertical; display: flex; justify-content: center; .ui-button { min-width: @form-footer-button-width; } .ui-button + .ui-button { margin-left: @form-footer-button-gap; } } /* form-item */ .ui-form-item { display: flex; margin-bottom: @form-item-outer-vertical; position: relative; } .ui-form-label { flex: 0 0 auto; color: @form-item-label-color; margin-right: @form-item-label-outer-horizontal; } .ui-form-label-text { line-height: @form-item-label-line-height; padding: @form-item-label-inner-vertical 0; display: block; .ui-form-item.is-required &::before { content: @form-item-label-required-content; color: @form-item-label-required-color; margin-right: .5em; } } .ui-form-item-content { .clearfix(); flex: 1 1 0%; position: relative; line-height: @form-item-height; } .ui-form-item-error { position: absolute; top: 100%; line-height: @form-item-error-height; margin: 0 @form-item-error-inner-horizontal; font-size: @form-item-error-font-size; color: @form-item-error-color; } /* radio */ .ui-radio-group { font-size: 0; display: block; // vertical-align: middle; } .ui-radio { font-size: @font-size-base; line-height: 0; cursor: pointer; display: inline-block; vertical-align: middle; white-space: nowrap; .ui-radio-group & { margin-right: @unit-outer-horizontal; &:last-child { margin-right: 0; } } } .ui-radio-inner { display: inline-block; line-height: 0; position: relative; margin-right: .5em; } .ui-radio-icon { border: 1px solid @color-border-regular; border-radius: 100%; width: 1em; height: 1em; background-color: @color-white; position: relative; display: inline-block; box-sizing: border-box; &::after { width: 4px; height: 4px; border-radius: 100%; background-color: @color-white; content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); } .ui-radio.is-checked & { border-color: @color-primary; background-color: @color-primary; } } .ui-radio-input { position: absolute; opacity: 0; z-index: -1; } .ui-radio { .ui-radio-inner, .ui-radio-text { vertical-align: middle; } } .ui-radio-button { border-color: @radio-button-border-color; background-color: @radio-button-bg-color; color: @radio-button-color-text; // font-size: @font-size-base; position: relative; &:hover { background-color: @radio-button-bg-color-hover; } &.is-checked { background-color: @radio-button-bg-color-checked; border-color: @radio-button-border-color-checked; color: @radio-button-color-text-checked; } .ui-radio-inner { position: absolute; opacity: 0; z-index: -1; } } /* checkbox */ .ui-checkbox-group { font-size: 0; display: block; // vertical-align: middle; } .ui-checkbox { font-size: @font-size-base; line-height: 0; cursor: pointer; display: inline-block; vertical-align: middle; white-space: nowrap; .ui-checkbox-group & { margin-right: @unit-outer-horizontal; &:last-child { margin-right: 0; } } } .ui-checkbox-inner { display: inline-block; line-height: 0; position: relative; vertical-align: middle; margin-right: .5em; } .ui-checkbox-icon { border: 1px solid @color-border-regular; border-radius: @checkbox-icon-border-radius; width: 1em; height: 1em; background-color: @color-white; position: relative; display: inline-block; box-sizing: border-box; &::after { box-sizing: content-box; content: ""; border: 1px solid #fff; border-left: 0; border-top: 0; height: 7px; left: 4px; position: absolute; top: 1px; transform: rotate(45deg); width: 3px; transform-origin: center; } .ui-checkbox.is-checked & { border-color: @color-primary; background-color: @color-primary; } } .ui-checkbox-input { position: absolute; opacity: 0; z-index: -1; } .ui-checkbox { .ui-checkbox-inner, .ui-checkbox-text { vertical-align: middle; } } .ui-checkbox-button { border-color: @color-border-regular; background-color: @color-white; color: @color-text-regular; // font-size: @font-size-base; position: relative; &:hover { background-color: @color-bg-active-regular; } &.is-checked { background-color: @color-primary; border-color: @color-primary; color: @color-text-alt; } .ui-checkbox-inner { position: absolute; opacity: 0; z-index: -1; } } /* select */ .ui-select { position: relative; width: 100%; cursor: text; font-size: @unit-font-size; .ui-input { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; } &:focus-within .ui-input-border { border-color: @select-border-color-focus; } } .ui-select-tags { box-sizing: border-box; padding: @unit-inner-vertical @unit-inner-horizontal; min-height: @unit-height; line-height: 1; .ui-tag-group { margin: -@select-tag-gap; .ui-tag { margin: @select-tag-gap; } } } .ui-select-input { box-sizing: border-box; border: none; outline: none; margin: @select-tag-gap 0; padding: 0 @select-tag-gap; font-size: @font-size-base; line-height: @font-line-height-base; appearance: none; min-width: 4em; max-width: 100%; background-color: transparent; } .ui-select-dropdown-menu { margin-top: -@unit-border-width; } .ui-select-option { white-space: normal; &.is-selected { color: @color-text-secondary; background-color: initial; } } .ui-select-dropdown-menu-empty { line-height: @unit-height; text-align: center; color: @color-text-secondary; cursor: initial; } /* upload */ .ui-upload { font-size: 0; } .ui-upload-area { height: @unit-height; } .ui-upload-label { display: block; font-size: @unit-font-size; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .ui-upload-input { display: none; } .ui-upload-list { font-size: @font-size-base; }