zarm
Version:
基于 React 的移动端UI库
107 lines (101 loc) • 2.84 kB
CSS
.za-input {
--color: var(--za-input-color, var(--za-color-text));
--font-size: var(--za-input-font-size, var(--za-font-size-md));
--height: var(--za-input-height, 28px);
--line-height: var(--za-input-line-height, 28px);
--label-font-size: var(--za-input-label-font-size, var(--za-font-size-sm));
--placeholder-color: var(--za-input-placeholder-color, var(--za-color-text-placeholder));
--disabled-color: var(--za-input-disabled-color, var(--za-color-text-disabled));
--clear-icon-size: var(--za-input-clear-icon-size, 16px);
--clear-icon-color: var(--za-input-clear-icon-color, #ccc);
--textarea-length-font-size: var(--za-input-textarea-length-font-size, var(--za-font-size-sm));
--textarea-length-color: var(--za-input-textarea-length-color, var(--za-color-text-disabled));
position: relative;
width: 100%;
color: var(--color);
font-size: var(--font-size);
}
.za-input input,
.za-input textarea {
flex: 1;
position: relative;
width: 100%;
padding: 0;
background-color: transparent;
background-image: none;
border: 0;
outline: 0;
-webkit-appearance: none;
font-size: var(--font-size);
color: var(--color);
line-height: var(--line-height);
}
.za-input input::placeholder,
.za-input textarea::placeholder {
color: var(--placeholder-color);
}
.za-input input {
display: inline-block;
height: var(--height);
}
.za-input textarea {
display: block;
resize: none;
word-break: break-all;
word-wrap: break-word;
overflow: visible;
}
.za-input__label {
font-size: var(--label-font-size);
line-height: var(--line-height);
}
.za-input__content {
position: relative;
height: var(--height);
line-height: var(--line-height);
}
.za-input::placeholder {
color: var(--placeholder-color);
}
.za-input--textarea .za-input__length {
text-align: right;
color: var(--textarea-length-color);
font-size: var(--textarea-length-font-size);
}
.za-input--clearable input::-webkit-search-cancel-button {
display: none;
}
.za-input--clearable .za-input__clear {
position: absolute;
visibility: hidden;
color: var(--clear-icon-color);
text-align: center;
top: 50%;
transform: translateY(-50%);
right: 0;
font-size: var(--clear-icon-size);
}
.za-input--clearable.za-input--focus {
padding-right: var(--clear-icon-size);
}
.za-input--clearable.za-input--focus .za-input__clear {
visibility: visible;
}
.za-input--readonly .za-input__content {
height: auto;
}
.za-input--disabled input,
.za-input--disabled textarea {
cursor: not-allowed;
color: var(--disabled-color);
-webkit-text-fill-color: var(--disabled-color);
opacity: 1;
}
.za-input--disabled input::placeholder,
.za-input--disabled textarea::placeholder {
color: var(--disabled-color);
}
.za-input--disabled .za-input__content {
cursor: not-allowed;
color: var(--disabled-color);
}