P粉7448316022023-09-04 19:22:15
You already put the code for the blue border into :focus of the radio button, you just need to add that code to :checked of the radio button.
.radio-custom:checked + .radio-custom-label{ outline: 1px solid blue; }
.checkbox-custom, .radio-custom {
opacity: 0;
position: absolute;
}
.checkbox-custom, .checkbox-custom-label, .radio-custom, .radio-custom-label {
display: inline-block;
vertical-align: middle;
margin: 5px;
cursor: pointer;
}
.checkbox-custom-label, .radio-custom-label {
position: relative;
display: flex;
align-items: center;
padding-right: 10px;
}
.checkbox-custom-label span, .radio-custom-label span{
margin-left: auto;
}
.checkbox-custom + .checkbox-custom-label:before, .radio-custom + .radio-custom-label:before {
content: '';
background: #fff;
border: 2px solid #000;
display: inline-block;
vertical-align: middle;
width: 20px;
height: 20px;
padding: 2px;
margin-right: 10px;
text-align: center;
}
.checkbox-custom:checked + .checkbox-custom-label:before {
background: rebeccapurple;
box-shadow: inset 0px 0px 0px 4px #fff;
}
.radio-custom + .radio-custom-label:before {
border-radius: 50%;
margin: 10px;
}
.radio-custom:checked + .radio-custom-label:before {
background: #000;
box-shadow: inset 0px 0px 0px 4px #fff;
}
.checkbox-custom:focus + .checkbox-custom-label, .radio-custom:focus + .radio-custom-label {
/* outline: 1px solid blue; */
/* width:50%; */
}
.radio-custom-label{
background: #f4f4f4;
/* width: 50%; */
}
.radio-custom:checked + .radio-custom-label{
outline: 1px solid blue;
}
</style>
<div>
<input id="pA" value="{{ pago_normal }}" class="radio-custom" name="radio-group" type="radio">
<label for="pA" class="radio-custom-label">ProductA
<span>0</span>
</label>
</div>
<div>
<input id="pB" value="{{ pago_cuotas }}" class="radio-custom" name="radio-group" type="radio">
<label for="pB" class="radio-custom-label">ProductB
<span>0</span>
</label>
</div>