нельзя использовать дважды одинаково id
. Также, чтобы избежать проблем с оформлением, не следует использовать число в качестве первой буквы для значения атрибута (из старой спецификации), см. Каковы допустимые значения для атрибута id в HTML? .
Вот пример, позволяющий использовать один input
более чем 1 label
. Метки должны быть внутри одного элемента ввода, чтобы их стилизовать.
возможный рабочий пример с элементами одного элемента div:
input {
display: none;
}
label {
width: 25px;
height: 25px;
display: inline-block;
color: #fff;
background-color: #000;
text-align: center;
line-height: 25px;
}
input#a1:checked ~ div label[for="a1"],
input#a2:checked ~ div label[for="a2"]{
background-color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="radio" id="a1" name="a" value="1" checked>
<input type="radio" id="a2" name="a" value="2">
<div class="page-1">
<label for="a1">1</label>
<label for="a2">2</label>
</div>
<div class="page-2">
<!-- ... -->
</div>
<div class="page-3">
<label for="a1">1</label>
<label for="a2">2</label>
</div>