[18/18] Проверьте код.

Допущены ли какие-то ошибки? 100%, интересно. Использовал только пройденное.

body {
width: 550px;
}

form {
width: 400px;
margin: 0 auto;
padding: 20px;
border-radius: 10px;
background-color: #ffffff;
box-shadow: 0 0 10px #cccccc;
}

fieldset {
padding: 10px;
border: 1px solid #34495e;
border-radius: 5px;
}

fieldset legend {
color: #34495e;
}

.half-width {
display: inline-block;
width: 50%;
margin-right: -4px;
}

label {
display: block;
margin-bottom: 5px;
margin-top: 10px;
}

.half-width input {
display: none;
}

input[id$=’-2’] + label {
vertical-align: middle;
color: #7f8c8d;
}

input + label::before {
content: “”;
display: inline-block;
width: 7px;
height: 7px;
margin-right: 8px;
vertical-align: middle;
border: 3px solid #ffffff;
box-shadow: 0 0 0 3px #bdc3c7;
}

input[type=“radio”] + label::before{
border-radius: 50%;
}

input[id$="-1"] + label::before {
background: #1abc9c;
box-shadow: 0 0 0 3px #1abc9c;
}

input[id$="-1"] + label {
color: #1abc9c;
}

input[id$="-3"] + label::before {
box-shadow: 0 0 0 3px #ecf0f1;
}

input[id$="-3"] + label {
color: #ecf0f1;
}

input[type=‘text’] {
width: 95%;
height: 24px;
margin-bottom: 10px;
padding: 2px 5px;
color: #000;
border: 2px solid #bdc3c7;
border-radius: 5px;
vertical-align: middle;
}

input:required,input:invalid {
border-color: #e74c3c;
}

input:disabled {
color: #bdc3c7;
background: #f5f5f5;
border-color: #ecf0f1;
}

input:invalid {
color: #c0392b;
background: #f2a097;
border-color: #e74c3c;
}

Радиокнопки и чекбоксы переключаются?

Такие селекторы не учитывают качественные характеристики поля (радиокнопки). То есть вы выбираете элемент исходя из его порядкового номера в коде, а не того каким он должен быть функционально (не доступен для редактирования, например, или обязателен для заполнения/выбора).

1 лайк

Нет, не переключаются

Должны переключаться.
При этом включенные радиокнопки и чекбоксы
должны перекрашиваться в зелёный цвет,
а выключенные в серый.


input[id$="-1"] + label {
  color: #1abc9c;
}

Это правило перекрашивает все label не учитывая состояния кнопок и чекбоксов.
Есть id оканчивающиеся на “-1” – значит зелёный.
И неважно включено или выключено…


input:checked + label { 
  color: #1abc9c;
}

Работает только для надписей
включенных кнопок и чекбоксов.


Остальные правила с id$="-? " тоже нужно исправить,
и всё будет и переключаться, и перекрашиваться…

Если следовать Вашей логике, тогда и слова “неактивный”, при переключении радиокнопок и чекбоксов, должны меняться на “активный”. Подскажите тогда, как это реализовать на данном этапе знаний с помощью CSS?