1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- @import './var.less';
- :root {
- --van-radio-size: @radio-size;
- --van-radio-border-color: @radio-border-color;
- --van-radio-transition-duration: @radio-transition-duration;
- --van-radio-label-margin: @radio-label-margin;
- --van-radio-label-color: @radio-label-color;
- --van-radio-checked-icon-color: @radio-checked-icon-color;
- --van-radio-disabled-icon-color: @radio-disabled-icon-color;
- --van-radio-disabled-label-color: @radio-disabled-label-color;
- --van-radio-disabled-background-color: @radio-disabled-background-color;
- }
- .van-radio {
- display: flex;
- align-items: center;
- overflow: hidden;
- cursor: pointer;
- user-select: none;
- &--disabled {
- cursor: not-allowed;
- }
- &--label-disabled {
- cursor: default;
- }
- &--horizontal {
- margin-right: var(--van-padding-sm);
- }
- &__icon {
- flex: none;
- height: 1em;
- font-size: var(--van-radio-size);
- line-height: 1em;
- cursor: pointer;
- .van-icon {
- display: block;
- box-sizing: border-box;
- width: 1.25em;
- height: 1.25em;
- color: transparent;
- font-size: 0.8em;
- line-height: 1.25;
- text-align: center;
- border: 1px solid var(--van-radio-border-color);
- transition-duration: var(--van-radio-transition-duration);
- transition-property: color, border-color, background-color;
- }
- &--round {
- .van-icon {
- border-radius: 100%;
- }
- }
- &--checked {
- .van-icon {
- color: var(--van-white);
- background-color: var(--van-radio-checked-icon-color);
- border-color: var(--van-radio-checked-icon-color);
- }
- }
- &--disabled {
- cursor: not-allowed;
- .van-icon {
- background-color: var(--van-radio-disabled-background-color);
- border-color: var(--van-radio-disabled-icon-color);
- }
- }
- &--disabled&--checked {
- .van-icon {
- color: var(--van-radio-disabled-icon-color);
- }
- }
- }
- &__label {
- margin-left: var(--van-radio-label-margin);
- color: var(--van-radio-label-color);
- line-height: var(--van-radio-size);
- &--left {
- margin: 0 var(--van-radio-label-margin) 0 0;
- }
- &--disabled {
- color: var(--van-radio-disabled-label-color);
- }
- }
- }
|