mirror of
https://github.com/mdbootstrap/mdb-ui-kit.git
synced 2024-11-29 21:14:13 +03:00
120 lines
2.5 KiB
SCSS
120 lines
2.5 KiB
SCSS
.radio label,
|
|
label.radio-inline {
|
|
position: relative;
|
|
padding-left: $bmd-radio-size + $bmd-radio-label-padding; // absolutely positioned so add the radio size
|
|
|
|
.bmd-radio-outer-circle, // don't use generic span, it may conflict with span in user markup #693
|
|
.bmd-radio-inner-circle {
|
|
position: absolute;
|
|
top: calc-top($line-height-base, $font-size-base, $bmd-radio-size); // vertical center of line-height
|
|
left: 0;
|
|
display: inline-block;
|
|
width: $bmd-radio-size;
|
|
height: $bmd-radio-size;
|
|
cursor: pointer;
|
|
transition-duration: 0.2s;
|
|
|
|
&.bmd-radio-outer-circle {
|
|
border: $bmd-radio-border solid $bmd-radio-color-off;
|
|
border-radius: 50%;
|
|
transition: border-color ease .28s;
|
|
}
|
|
&.bmd-radio-inner-circle {
|
|
display: inline-block;
|
|
background-color: $bmd-radio-color-on;
|
|
border-radius: 50%;
|
|
transition: transform ease .28s;
|
|
transform: scale3d(0, 0, 0);
|
|
|
|
// focus/press ripple
|
|
&::after {
|
|
position: absolute;
|
|
top: -#{$bmd-radio-ripple-offset};
|
|
left: -#{$bmd-radio-ripple-offset};
|
|
z-index: 1;
|
|
display: block;
|
|
width: 50px;
|
|
height: 50px;
|
|
margin: 0;
|
|
content: "";
|
|
background-color: $gray-dark;
|
|
border-radius: 100%;
|
|
opacity: 0;
|
|
transform: scale3d(1.5, 1.5, 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
input[type=radio] {
|
|
// Hide native radio
|
|
position: absolute;
|
|
left: 0;
|
|
z-index: -1;
|
|
width: 0;
|
|
height: 0;
|
|
margin: 0;
|
|
overflow: hidden;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
|
|
&:checked {
|
|
@include bmd-radio-color($bmd-radio-color-on);
|
|
|
|
~ .bmd-radio-inner-circle {
|
|
transform: scale3d(0.55, 0.55, 1);
|
|
&::after {
|
|
animation: rippleOn;
|
|
|
|
.is-focused & {
|
|
// Prevent ripple effect on page load
|
|
animation: rippleOn 500ms;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&:not(:checked) ~ .bmd-radio-inner-circle::after {
|
|
animation: rippleOff 500ms;
|
|
}
|
|
|
|
&[disabled],
|
|
&:disabled,
|
|
fieldset[disabled] & {
|
|
|
|
+ .bmd-radio-outer-circle {
|
|
cursor: default;
|
|
}
|
|
|
|
@include bmd-radio-color($bmd-radio-color-disabled);
|
|
|
|
.bg-inverse & {
|
|
@include bmd-radio-color($bmd-radio-color-disabled-inverse);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@keyframes rippleOn {
|
|
0% {
|
|
opacity: 0;
|
|
}
|
|
50% {
|
|
opacity: 0.2;
|
|
}
|
|
100% {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
@keyframes rippleOff {
|
|
0% {
|
|
opacity: 0;
|
|
}
|
|
50% {
|
|
opacity: 0.2;
|
|
}
|
|
100% {
|
|
opacity: 0;
|
|
}
|
|
}
|