UNPKG

zent

Version:

一套前端设计语言和基于React的实现

198 lines (195 loc) 5.52 kB
.zent-radio-group { display: inline-block; font-size: 0; } .zent-radio-group > :not(.zent-radio-wrap) { font-size: 14px; line-height: 20px; } .zent-radio-wrap { display: inline-block; cursor: pointer; font-size: 0; margin: 0; padding: 0; margin-right: 24px; vertical-align: middle; } .zent-radio-wrap:last-child { margin-right: 0; } .zent-radio-wrap .zent-radio { position: relative; display: inline-block; white-space: nowrap; outline: none; vertical-align: middle; margin: 0; padding: 0; line-height: 1; } .zent-radio-wrap .zent-radio > input { position: absolute; left: 0; right: 0; bottom: 0; top: 0; margin: 0; padding: 0; width: 100%; height: 100%; z-index: 1; opacity: 0; cursor: pointer; } .zent-radio-wrap .zent-radio-label { font-size: 14px; line-height: 20px; display: inline; margin-left: 8px; vertical-align: middle; } .zent-radio-wrap .zent-radio-inner { border-color: #e0e0e0; border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); background-color: #fff; background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff)); position: relative; top: 0; left: 0; display: inline-block; width: 16px; height: 16px; border-radius: 50%; border-width: 1px; border-style: solid; box-sizing: border-box; vertical-align: middle; transition: all 0.1s; } .zent-radio-wrap .zent-radio-inner::after { background-color: #fff; background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff)); position: absolute; display: block; content: " "; top: 3px; left: 3px; width: 8px; height: 8px; border-radius: 50%; transform: scale(0); transition: all 0.1s ease-in-out; } .zent-radio-wrap.zent-radio-checked > .zent-radio > .zent-radio-inner { border-color: #155bd4; border-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4)); } .zent-radio-wrap.zent-radio-checked > .zent-radio > .zent-radio-inner::after { background-color: #155bd4; background-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4)); transform: scale(1); } .zent-radio-wrap.zent-radio-disabled { cursor: not-allowed; } .zent-radio-wrap.zent-radio-disabled > .zent-radio > .zent-radio-inner { background-color: #f7f7f7; background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7)); } .zent-radio-wrap.zent-radio-disabled > .zent-radio > .zent-radio-inner::after { background-color: #f7f7f7; background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7)); } .zent-radio-wrap.zent-radio-disabled > .zent-radio > input[type=radio] { pointer-events: none; } .zent-radio-wrap.zent-radio-disabled.zent-radio-checked > .zent-radio > .zent-radio-inner { border-color: #e0e0e0; border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); } .zent-radio-wrap.zent-radio-disabled.zent-radio-checked > .zent-radio > .zent-radio-inner::after { background-color: #e0e0e0; background-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); } .zent-radio-wrap.zent-radio-disabled .zent-radio-label { color: #ccc; color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc)); } .zent-radio-wrap:not(.zent-radio-disabled):hover .zent-radio-inner { border-color: #155bd4; border-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4)); } .zent-radio-button { font-size: 14px; line-height: 20px; color: #999; color: var(--theme-hint-color, var(--theme-stroke-3, #999)); border-color: #e0e0e0; border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); border-width: 1px; border-style: solid; position: relative; box-sizing: border-box; display: inline-block; padding: 5px 10px; text-align: center; transition: all 100ms cubic-bezier(0.17, 0.84, 0.44, 0.1); } .zent-radio-button > input[type=radio] { -webkit-appearance: none; -moz-appearance: none; appearance: none; outline: none; border: 0; padding: 0; margin: 0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; display: block; cursor: pointer; } .zent-radio-button:not(:first-child) { margin-left: -1px; } .zent-radio-button:first-child { border-radius: 2px 0 0 2px; } .zent-radio-button:last-child { border-radius: 0 2px 2px 0; } .zent-radio-button:hover:not(.zent-radio-button--disabled) { color: #155bd4; color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4)); } .zent-radio-button--checked { color: #155bd4; color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4)); border-color: #155bd4; border-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4)); background-color: #e6efff; background-color: var(--theme-default-selected-bg, var(--theme-primary-8, #e6efff)); z-index: 1; } .zent-radio-button--disabled { color: #ccc; color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc)); background-color: #f7f7f7; background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7)); cursor: not-allowed; } .zent-radio-button--disabled > input[type=radio] { pointer-events: none; } .zent-radio-button--disabled.zent-radio-button--checked { background-color: #e0e0e0; background-color: var(--theme-default-border-color, var(--theme-stroke-10, #e0e0e0)); border-color: #e0e0e0; border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); color: #ccc; color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc)); }