UNPKG

antd-mobile-taro-ui

Version:

以antd-mobile为设计标准,基于taro框架的微信小程序组件库

106 lines (105 loc) 2.57 kB
/*进度圈*/ .adm-progress-circle { --track-width: var(--adm-progress-circle-track-width, 2px); --size: var(--adm-progress-circle-size, 100px); --track-color: var(--adm-progress-circle-track-color, #e5e5e5); --fill-color: var(--adm-progress-circle-fill-color, var(--adm-color-primary)); --track-duration: var(--adm-progress-circle-track-duration, 2s); display: flex; width: var(--size); height: var(--size); } .adm-progress-circle-content { position: relative; margin: auto; width: 100%; height: 100%; } .adm-progress-circle-wrapper { position: relative; width: 100%; height: 100%; } .adm-progress-circle-default-circle { width: 100%; height: 100%; position: absolute; top: 0; left: 0; border: var(--track-width) solid var(--track-color); border-radius: 50%; } .adm-progress-circle-percent { position: relative; z-index: 1; width: 100%; height: 100%; display: grid; grid-template-rows: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr); } .adm-progress-circle-circle { overflow: hidden; position: relative; width: calc(var(--size) / 2); height: calc(var(--size)); } .adm-progress-circle-left-circle { width: var(--size); height: var(--size); border: var(--track-width) solid transparent; border-radius: 50%; position: absolute; left: 0; top: 0; border-bottom: var(--track-width) solid var(--fill-color); border-left: var(--track-width) solid var(--fill-color); transform: rotate(var(--percent)); animation-name: circle_left; animation-duration: var(--track-duration); animation-timing-function: linear; animation-iteration-count: 1; } .adm-progress-circle-right-circle { width: var(--size); height: var(--size); border: var(--track-width) solid transparent; border-radius: 50%; position: absolute; right: 0; top: 0; border-top: var(--track-width) solid var(--fill-color); border-right: var(--track-width) solid var(--fill-color); border-top-left-radius: 50%; transform: rotate(var(--percent)); animation-name: circle_right; animation-duration: var(--track-duration); animation-timing-function: linear; animation-iteration-count: 1; } .adm-progress-circle-info { position: absolute; width: 100%; top: 50%; left: 50%; text-align: center; transform: translate(-50%, -50%); } @keyframes circle_left { 0%, 50% { transform: rotate(-135deg); } 100% { transform: rotate(var(--percent)); } } @keyframes circle_right { 0% { transform: rotate(-135deg); } 50%, 100% { transform: rotate(var(--percent)); } }