UNPKG

@alifd/next

Version:

A configurable component library for web built on React.

181 lines (168 loc) 6.18 kB
.next-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; top: 0; margin: -1px; } .next-rating[dir="rtl"] .next-rating-overlay { right: 0; left: auto; } .next-rating[dir="rtl"] .next-rating-underlay .next-rating-icon, .next-rating[dir="rtl"] .next-rating-overlay .next-rating-icon { margin-right: 4px; margin-right: var(--s-1, 4px); margin-left: 0; } .next-rating[dir="rtl"] .next-rating-underlay .next-rating-icon:last-child, .next-rating[dir="rtl"] .next-rating-overlay .next-rating-icon:last-child { /* icon 放大会产生边缘溢出,这里使用 margin 为放大扩展一部分空间 */ margin-left: 4px; margin-left: var(--s-1, 4px); } .next-rating { vertical-align: top; } .next-rating { display: inline-block; position: relative; } .next-rating:after { visibility: hidden; display: block; height: 0; font-size: 0; content: '\0020'; clear: both; } .next-rating-base { float: left; } .next-rating-text { float: left; } .next-rating-base-disabled { cursor: not-allowed; } .next-rating-base-disabled .next-rating-underlay .next-rating-icon { cursor: not-allowed; } .next-rating-base-disabled .next-rating-overlay .next-rating-icon { cursor: not-allowed; } .next-rating-symbol-icon::before { content: ""; content: var(--rating-grade-icon-content, ""); } .next-rating-underlay { white-space: nowrap; overflow: hidden; } .next-rating-underlay .next-icon { color: #E2E4E8; color: var(--rating-normal-underlay-color, #E2E4E8); } .next-rating-stroke-mode .next-rating-underlay .next-icon { color: transparent; -webkit-text-stroke: 1px #5584FF; -webkit-text-stroke: 1px var(--rating-normal-overlay-color, #5584FF); } .next-rating-overlay { white-space: nowrap; overflow: hidden; position: absolute; width: 0; top: 0; left: 0; } .next-rating-overlay .next-icon { color: #5584FF; color: var(--rating-normal-overlay-color, #5584FF); } .next-rating-underlay .next-rating-icon, .next-rating-overlay .next-rating-icon { cursor: pointer; margin-left: 4px; margin-left: var(--s-1, 4px); } .next-rating-underlay .next-rating-icon:last-child, .next-rating-overlay .next-rating-icon:last-child { /* icon 放大会产生边缘溢出,这里使用 margin 为放大扩展一部分空间 */ margin-right: 4px; margin-right: var(--s-1, 4px); } .next-rating-underlay .next-icon, .next-rating-overlay .next-icon { transition: all 100ms linear; transition: all var(--motion-duration-immediately, 100ms) var(--motion-linear, linear); } .next-rating-underlay .next-icon.hover, .next-rating-overlay .next-icon.hover { transform: scale3d(1.1, 1.1, 1.1); } .next-rating-underlay .next-icon.clicked, .next-rating-overlay .next-icon.clicked { transform: scale3d(0.9, 0.9, 0.9); } .next-rating-info { position: absolute; top: calc(100% + 4px); top: calc(100% + var(--s-1, 4px)); left: 0; border: 1px solid #E2E4E8; border: 1px solid var(--color-fill1-4, #E2E4E8); background: #FFFFFF; padding: 4px 8px 3px; font-size: 12px; white-space: nowrap; } .next-rating-info:after { position: absolute; content: ''; width: 4px; height: 4px; transform: rotate(45deg); border: 1px solid #E2E4E8; border: 1px solid var(--color-fill1-4, #E2E4E8); background: #FFFFFF; border-bottom-color: transparent; border-right-color: transparent; top: -3px; left: 4px; } .next-rating:focus .next-rating-base:not(.next-rating-base-disabled), .next-rating.hover { outline: none; } .next-rating:focus .next-rating-base:not(.next-rating-base-disabled) .next-rating-overlay .next-icon, .next-rating.hover .next-rating-overlay .next-icon { color: #5584FF; color: var(--rating-normal-overlay-hover-color, #5584FF); } /* 状态 */ /* ======================================== */ .next-rating-grade-low .next-rating-overlay .next-icon { color: #666666; color: var(--rating-grade-low-overlay-color, #666666); } .next-rating-grade-low.hover .next-rating-overlay .next-icon { color: #666666; color: var(--rating-grade-low-overlay-color, #666666); } .next-rating-grade-high .next-rating-overlay .next-icon { color: #5584FF; color: var(--rating-grade-high-overlay-color, #5584FF); } .next-rating-grade-high.hover .next-rating-overlay .next-icon { color: #5584FF; color: var(--rating-grade-high-overlay-hover-color, #5584FF); } /* 尺寸 */ /* ======================================== */ .next-rating-small { font-size: 12px; font-size: var(--rating-small-font-size, 12px); } .next-rating-small .next-icon:before, .next-rating-small .next-icon .next-icon-remote { width: 12px; width: var(--rating-small-icon-size, 12px); font-size: 12px; font-size: var(--rating-small-icon-size, 12px); line-height: inherit; } .next-rating-small .next-rating-text { margin-left: 8px; margin-left: var(--rating-small-text-margin-left, 8px); } .next-rating-medium { font-size: 12px; font-size: var(--rating-medium-font-size, 12px); } .next-rating-medium .next-icon:before, .next-rating-medium .next-icon .next-icon-remote { width: 16px; width: var(--rating-medium-icon-size, 16px); font-size: 16px; font-size: var(--rating-medium-icon-size, 16px); line-height: inherit; } .next-rating-medium .next-rating-text { margin-left: 12px; margin-left: var(--rating-medium-text-margin-left, 12px); } .next-rating-large { font-size: 16px; font-size: var(--rating-large-font-size, 16px); } .next-rating-large .next-icon:before, .next-rating-large .next-icon .next-icon-remote { width: 20px; width: var(--rating-large-icon-size, 20px); font-size: 20px; font-size: var(--rating-large-icon-size, 20px); line-height: inherit; } .next-rating-large .next-rating-text { margin-left: 16px; margin-left: var(--rating-large-text-margin-left, 16px); }