@nutui/nutui-react
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
252 lines (250 loc) • 10.1 kB
CSS
:root,
page {
--nut-scale-f: 1;
--nut-scale-font: var(--nut-scale-f, 1);
--nut-scale-icon: var(--nut-scale-f, 1);
--nut-icon-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) ;
--nut-icon-width: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) ;
--nut-icon-line-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) ;
}
/* #ifdef harmony */
/* #endif */
/* #ifndef harmony */
/* #endif */
.nut-searchbar {
display: flex;
align-items: center;
width: var(--nutui-searchbar-width, 100%);
padding: var(--nutui-searchbar-padding, calc(1px * var(--nut-scale-f, 1)) calc(8px * var(--nut-scale-f, 1)));
background: var(--nutui-searchbar-background, var(--nutui-color-background-sunken, #f7f8fc));
color: var(--nutui-searchbar-color, var(--nutui-color-title, #1a1a1a));
font-size: var(--nutui-searchbar-font-size, var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
box-sizing: border-box;
justify-content: center;
}
.nut-searchbar .nut-icon {
width: var(--nutui-searchbar-icon-size, calc(20px * var(--nut-scale-f, 1)));
height: var(--nutui-searchbar-icon-size, calc(20px * var(--nut-scale-f, 1)));
font-size: var(--nutui-searchbar-icon-size, calc(20px * var(--nut-scale-f, 1)));
}
.nut-searchbar-content {
position: relative;
flex: 1;
display: flex;
align-items: center;
justify-content: center;
padding: 0 var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
height: var(--nutui-searchbar-input-height, calc(38px * var(--nut-scale-f, 1)));
background: var(--nutui-searchbar-content-background, var(--nutui-color-background-overlay, #ffffff));
border-radius: var(--nutui-searchbar-content-border-radius, calc(8px * var(--nut-scale-f, 1)));
border: calc(1px * var(--nut-scale-f, 1)) solid var(--nutui-color-primary, #ff0f23);
}
.nut-searchbar-icon {
display: flex;
justify-content: center;
align-items: center;
color: var(--nutui-color-primary, #ff0f23);
}
.nut-searchbar-leftin {
margin-right: var(--nutui-searchbar-inner-gap, calc(8px * var(--nut-scale-f, 1)));
}
.nut-searchbar-rightin {
font-size: var(--nutui-font-size-l, calc(15px * var(--nut-scale-font, var(--nut-scale-f, 1))));
font-weight: 500;
color: var(--nutui-color-primary, #ff0f23);
}
.nut-searchbar-rightin.nut-searchbar-icon {
color: var(--nutui-black-5);
}
.nut-searchbar-input-box, .nut-searchbar-input {
display: flex;
align-items: center;
flex: 1;
}
.nut-searchbar-input {
border: 0;
outline: 0;
box-sizing: border-box;
width: 100%;
padding: 0;
margin: 0;
font-size: var(--nutui-searchbar-font-size, var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
color: var(--nutui-searchbar-input-text-color, var(--nutui-color-title, #1a1a1a));
caret-color: var(--nutui-searchbar-input-curror-color, var(--nutui-color-primary, #ff0f23));
background: transparent;
text-align: var(--nutui-searchbar-input-text-align, left);
}
.nut-searchbar-clear.nut-searchbar-icon {
position: relative;
}
.nut-searchbar-clear.nut-searchbar-icon .nut-icon {
width: var(--nutui-icon-size-12, calc(12px * var(--nut-scale-icon, var(--nut-scale-f, 1))));
height: var(--nutui-icon-size-12, calc(12px * var(--nut-scale-icon, var(--nut-scale-f, 1))));
color: var(--nutui-black-5);
margin-right: var(--nutui-searchbar-inner-gap, calc(8px * var(--nut-scale-f, 1)));
}
.nut-searchbar-clear.nut-searchbar-icon::after {
content: "";
position: absolute;
width: 100%;
height: 200%;
left: -20%;
}
.nut-searchbar-values {
position: absolute;
display: flex;
flex-direction: row;
z-index: 2;
background-color: #fff;
top: calc(9px * var(--nut-scale-f, 1));
left: calc(6px * var(--nut-scale-f, 1));
font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1))));
line-height: calc(12px * var(--nut-scale-f, 1));
}
.nut-searchbar-values .nut-searchbar-value {
display: flex;
flex-direction: row;
align-items: center;
padding: calc(4px * var(--nut-scale-f, 1)) calc(8px * var(--nut-scale-f, 1));
background-color: #f7f8fc;
border-radius: calc(4px * var(--nut-scale-f, 1));
margin-right: calc(2px * var(--nut-scale-f, 1));
}
.nut-searchbar-values .nut-icon {
width: var(--nutui-icon-size-6, calc(6px * var(--nut-scale-icon, var(--nut-scale-f, 1))));
height: var(--nutui-icon-size-6, calc(6px * var(--nut-scale-icon, var(--nut-scale-f, 1))));
font-size: var(--nutui-icon-size-6, calc(6px * var(--nut-scale-icon, var(--nut-scale-f, 1))));
color: #c2c4cc;
margin-left: calc(4px * var(--nut-scale-f, 1));
}
.nut-searchbar-left, .nut-searchbar-right {
/* #ifdef dynamic*/
display: flex;
/* #endif */
/* #ifndef dynamic*/
display: inline-flex;
/* #endif */
align-items: center;
}
.nut-searchbar-left.nut-icon, .nut-searchbar-right.nut-icon {
width: calc(20px * var(--nut-scale-f, 1));
height: calc(20px * var(--nut-scale-f, 1));
}
.nut-searchbar-left {
margin-right: var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
.nut-searchbar-left > div, .nut-searchbar-left > span, .nut-searchbar-left > i, .nut-searchbar-left > svg,
.nut-searchbar-left .nut-icon {
margin-right: var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
.nut-searchbar-left > div:last-child, .nut-searchbar-left > span:last-child, .nut-searchbar-left > i:last-child, .nut-searchbar-left > svg:last-child,
.nut-searchbar-left .nut-icon:last-child {
margin-right: 0;
}
.nut-searchbar-right {
margin-left: var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
.nut-searchbar-right > div, .nut-searchbar-right > span, .nut-searchbar-right > i, .nut-searchbar-right > svg,
.nut-searchbar-right .nut-icon {
margin-left: var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
.nut-searchbar-right > div:first-child, .nut-searchbar-right > span:first-child, .nut-searchbar-right > i:first-child, .nut-searchbar-right > svg:first-child,
.nut-searchbar-right .nut-icon:first-child {
margin-left: 0;
}
.nut-searchbar-left > text, .nut-searchbar-left > view {
margin-right: var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
.nut-searchbar-left > text:last-child, .nut-searchbar-left > view:last-child {
margin-right: 0;
}
.nut-searchbar-right > text, .nut-searchbar-right > view {
margin-left: var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
.nut-searchbar-right > text:first-child, .nut-searchbar-right > view:first-child {
margin-left: 0;
}
.nut-searchbar-round {
border-radius: var(--nutui-searchbar-content-round-border-radius, calc(19px * var(--nut-scale-f, 1)));
}
.nut-searchbar-disabled {
cursor: not-allowed;
}
.nut-searchbar-focus {
padding: calc(5px * var(--nut-scale-f, 1)) var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
.nut-searchbar-focus .nut-searchbar-content {
border: calc(0.5px * var(--nut-scale-f, 1)) solid #ff5c67;
}
[dir=rtl] .nut-searchbar-left,
.nut-rtl .nut-searchbar-left {
margin-right: 0;
margin-left: var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
[dir=rtl] .nut-searchbar-left > div, [dir=rtl] .nut-searchbar-left > span, [dir=rtl] .nut-searchbar-left > svg,
.nut-rtl .nut-searchbar-left > div,
.nut-rtl .nut-searchbar-left > span,
.nut-rtl .nut-searchbar-left > svg {
margin-right: 0;
margin-left: var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
[dir=rtl] .nut-searchbar-left > div.nut-icon, [dir=rtl] .nut-searchbar-left > span.nut-icon, [dir=rtl] .nut-searchbar-left > svg.nut-icon,
.nut-rtl .nut-searchbar-left > div.nut-icon,
.nut-rtl .nut-searchbar-left > span.nut-icon,
.nut-rtl .nut-searchbar-left > svg.nut-icon {
transform: rotate(180deg);
}
[dir=rtl] .nut-searchbar-left > div:last-child, [dir=rtl] .nut-searchbar-left > span:last-child, [dir=rtl] .nut-searchbar-left > svg:last-child,
.nut-rtl .nut-searchbar-left > div:last-child,
.nut-rtl .nut-searchbar-left > span:last-child,
.nut-rtl .nut-searchbar-left > svg:last-child {
margin-right: 0;
margin-left: 0;
}
[dir=rtl] .nut-searchbar-right,
.nut-rtl .nut-searchbar-right {
margin-left: 0;
margin-right: var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
[dir=rtl] .nut-searchbar-right > div, [dir=rtl] .nut-searchbar-right > span, [dir=rtl] .nut-searchbar-right > svg,
.nut-rtl .nut-searchbar-right > div,
.nut-rtl .nut-searchbar-right > span,
.nut-rtl .nut-searchbar-right > svg {
margin-left: 0;
margin-right: var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
[dir=rtl] .nut-searchbar-right > div:first-child, [dir=rtl] .nut-searchbar-right > span:first-child, [dir=rtl] .nut-searchbar-right > svg:first-child,
.nut-rtl .nut-searchbar-right > div:first-child,
.nut-rtl .nut-searchbar-right > span:first-child,
.nut-rtl .nut-searchbar-right > svg:first-child {
margin-left: 0;
margin-right: 0;
}
[dir=rtl] .nut-searchbar-left > text, [dir=rtl] .nut-searchbar-left > view,
.nut-rtl .nut-searchbar-left > text,
.nut-rtl .nut-searchbar-left > view {
margin-right: 0;
margin-left: var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
[dir=rtl] .nut-searchbar-left > text:last-child, [dir=rtl] .nut-searchbar-left > view:last-child,
.nut-rtl .nut-searchbar-left > text:last-child,
.nut-rtl .nut-searchbar-left > view:last-child {
margin-right: 0;
margin-left: 0;
}
[dir=rtl] .nut-searchbar-right > text, [dir=rtl] .nut-searchbar-right > view,
.nut-rtl .nut-searchbar-right > text,
.nut-rtl .nut-searchbar-right > view {
margin-left: 0;
margin-right: var(--nutui-searchbar-gap, calc(12px * var(--nut-scale-f, 1)));
}
[dir=rtl] .nut-searchbar-right > text:first-child, [dir=rtl] .nut-searchbar-right > view:first-child,
.nut-rtl .nut-searchbar-right > text:first-child,
.nut-rtl .nut-searchbar-right > view:first-child {
margin-left: 0;
margin-right: 0;
}
[dir=rtl] .nut-searchbar-input,
.nut-rtl .nut-searchbar-input {
text-align: var(--nutui-searchbar-input-text-align, right);
}