UNPKG

@opensig/opendesign

Version:

<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>

133 lines (124 loc) 4.26 kB
.o-radio { --radio-text-size: var(--o-font_size-text1); --radio-text-height: var(--o-line_height-text1); --radio-align: center; --radio-label-gap: 8px; --radio-color: var(--o-color-info1); --radio-color-disabled: var(--o-color-info4); --radio-input-wrap-size: var(--o-control_size-s); --radio-input-size: var(--o-control_size-xs); --radio-input-bg-color: var(--o-color-control-light); --radio-input-bg-color-disabled: var(--o-color-control4-light); --radio-input-bg-color-checked: var(--o-color-primary1); --radio-input-bg-color-checked-hover: var(--o-color-primary2); --radio-input-bg-color-checked-active: var(--o-color-primary3); --radio-input-bg-color-checked-disabled: var(--o-color-primary4); --radio-input-bd-color: var(--o-color-control1); --radio-input-bd-color-hover: var(--o-color-primary2); --radio-input-bd-color-active: var(--o-color-primary3); --radio-input-bd-color-disabled: var(--o-color-control4); --radio-input-bd-color-checked: var(--o-color-primary1); --radio-input-bd-color-checked-hover: var(--o-color-primary2); --radio-input-bd-color-checked-active: var(--o-color-primary3); --radio-input-bd-color-checked-disabled: var(--o-color-primary4); --radio-input-icon-size: calc(var(--radio-input-size) / 2); --radio-input-icon-color: var(--o-color-white); } .o-radio { color: var(--radio-color); font-size: var(--radio-text-size); line-height: var(--radio-text-height); cursor: pointer; } @media (hover: hover) { .o-radio:hover .o-radio-input { border-color: var(--radio-input-bd-color-hover); } } .o-radio:active .o-radio-input { border-color: var(--radio-input-bd-color-active); } .o-radio-wrap { position: relative; display: flex; align-items: var(--radio-align); height: 100%; } .o-radio-wrap input[type=radio] { position: absolute; outline: none; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; opacity: 0; } .o-radio-input-wrap { display: flex; justify-content: center; align-items: center; width: var(--radio-input-wrap-size); height: var(--radio-input-wrap-size); } .o-radio-input { position: relative; width: var(--radio-input-size); height: var(--radio-input-size); background-color: var(--radio-input-bg-color); border: 1px solid var(--radio-input-bd-color); border-radius: 50%; flex-shrink: 0; transition: all var(--o-duration-s) var(--o-easing-standard); } .o-radio-input::after { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: var(--radio-input-icon-size); height: var(--radio-input-icon-size); border-radius: 50%; opacity: 0; background-color: var(--radio-input-icon-color); transition: opacity var(--o-duration-s) var(--o-easing-standard), opacity var(--o-duration-s) var(--o-easing-standard); } .o-radio-label { margin-left: var(--radio-label-gap); } .o-radio-checked .o-radio-input { background-color: var(--radio-input-bg-color-checked); border-color: var(--radio-input-bd-color-checked); } .o-radio-checked .o-radio-input::after { opacity: 1; } @media (hover: hover) { .o-radio-checked:hover .o-radio-input { background-color: var(--radio-input-bg-color-checked-hover); border-color: var(--radio-input-bd-color-checked-hover); } } .o-radio-checked:active .o-radio-input { background-color: var(--radio-input-bg-color-checked-active); border-color: var(--radio-input-bd-color-checked-active); } .o-radio-disabled, .o-radio-disabled:hover, .o-radio-disabled.active { cursor: not-allowed; color: var(--radio-color-disabled); } .o-radio-disabled .o-radio-input, .o-radio-disabled:hover .o-radio-input, .o-radio-disabled.active .o-radio-input { background-color: var(--radio-input-bg-color-disabled); border-color: var(--radio-input-bd-color-disabled); } .o-radio-checked.o-radio-disabled .o-radio-input, .o-radio-checked.o-radio-disabled:hover .o-radio-input, .o-radio-checked.o-radio-disabled.active .o-radio-input { background-color: var(--radio-input-bg-color-checked-disabled); border-color: var(--radio-input-bd-color-checked-disabled); } @media (max-width: 1440px) { .o-radio { --radio-text-size: var(--o-font_size-tip1); --radio-text-height: var(--o-line_height-tip1); } }