63 lines
1.4 KiB
SCSS
63 lines
1.4 KiB
SCSS
@import "variables";
|
|
|
|
vn-radio {
|
|
position: relative;
|
|
cursor: pointer;
|
|
display: inline-block;
|
|
outline: none;
|
|
|
|
&.disabled {
|
|
cursor: inherit;
|
|
}
|
|
& > .radio {
|
|
position: relative;
|
|
box-sizing: border-box;
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
border-radius: 50%;
|
|
width: 20px;
|
|
height: 20px;
|
|
border: 2px solid #666;
|
|
margin: 6px 0;
|
|
margin-right: .4em;
|
|
|
|
& > .mark {
|
|
transition: background 250ms;
|
|
}
|
|
}
|
|
&.checked > .radio {
|
|
border-color: $color-main;
|
|
|
|
& > .mark {
|
|
position: absolute;
|
|
border-radius: 50%;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
width: 10px;
|
|
height: 10px;
|
|
background-color: $color-main;
|
|
}
|
|
& > .focus-mark {
|
|
background-color: rgba($color-main, .15);
|
|
}
|
|
}
|
|
& > .radio > .focus-mark {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
height: 38px;
|
|
width: 38px;
|
|
margin-top: -19px;
|
|
margin-left: -19px;
|
|
border-radius: 50%;
|
|
transform: scale3d(0, 0, 0);
|
|
transition: background 250ms;
|
|
transition: transform 250ms;
|
|
background-color: rgba(0, 0, 0, .1);
|
|
}
|
|
&:focus:not(.disabled) > .radio > .focus-mark {
|
|
transform: scale3d(1, 1, 1);
|
|
}
|
|
}
|