css подсветка label

P
На сайте с 13.05.2014
Offline
78
2739

Здравствуйте

Обычно использую подсветку выбранного label у radio следующим образом:

input:checked+label {

background: #...;

но на одном сайте все построено иначе: <label> вынесен перед <input> и не работает

пробовал и так:

input:focus ~ label,

label:active{

font-weight: bold;

color:red;

}

но это все равно работает только, когда label внутри input

как реализовать подсветку на css, чтобы не переписывать конструкцию половины сайта?

P
На сайте с 13.05.2014
Offline
78
#1

есть мысли у кого?

dma84
На сайте с 21.04.2009
Offline
168
#2

В CSS3 нет возможности обратиться к сестринскому элементу, который по коду выше. Либо ждите полной поддержки CSS4, либо меняйте положение элементов в коде.

И да, label не может быть внутри input, только наоборот.

Обычно вы пользуетесь верным вариантом


input:checked + label

или


input:checked ~ label
tommy-gung
На сайте с 22.11.2006
Offline
300
#3

пользуюсь таким:


<label>
<input>
<span></span>
</label>
Здесь не могла быть ваша реклама
P
На сайте с 13.05.2014
Offline
78
#4
dma84:
В CSS3 нет возможности обратиться к сестринскому элементу, который по коду выше. Либо ждите полной поддержки CSS4, либо меняйте положение элементов в коде.

И да, label не может быть внутри input, только наоборот.

Обычно вы пользуетесь верным вариантом

input:checked + label

или


input:checked ~ label

Может вы имели ввиду, что правильно <input><label>, а не <label><input> ??

---------- Добавлено 25.10.2017 в 23:36 ----------

tommy-gung:
пользуюсь таким:

<label>
<input>
<span></span>
</label>

Как в этом случае на css подсветить label у выбранной radio?

S
На сайте с 30.09.2016
Offline
469
#5
pahanmcs:
Может вы имели ввиду, что правильно <input><label>, а не <label><input> ??

Он имел в виду, что вот эта фраза

pahanmcs:
но это все равно работает только, когда label внутри input
лишена какого-либо смысла, потому что невозможно запихать <label> вовнутрь инпута.

---------- Добавлено 26.10.2017 в 01:28 ----------

pahanmcs:
Как в этом случае на css подсветить label у выбранной radio?
В этом случае подсвечивают <span> вышеописанным способом.
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
P
На сайте с 13.05.2014
Offline
78
#6
Sitealert:
Он имел в виду, что вот эта фраза лишена какого-либо смысла, потому что невозможно запихать <label> вовнутрь инпута.

---------- Добавлено 26.10.2017 в 01:28 ----------

В этом случае подсвечивают <span> вышеописанным способом.

спасибо, разобрался, со span все работает!

но у меня часть сайта сделана когда label внутри input, часть наоборот

Поэтому и не применялись классы к этой половине

dma84
На сайте с 21.04.2009
Offline
168
#7
pahanmcs:
спасибо, разобрался, со span все работает!
но у меня часть сайта сделана когда label внутри input, часть наоборот
Поэтому и не применялись классы к этой половине

Да не может быть label внутри input, хоть убейся.

P
На сайте с 13.05.2014
Offline
78
#8
dma84:
Да не может быть label внутри input, хоть убейся.

http://htmlbook.ru/html/LABEL

Пожалуйста, рассматриваются два случая

---------- Добавлено 27.10.2017 в 17:12 ----------

dma84:
Да не может быть label внутри input, хоть убейся.

<input id="идентификатор"><label for="идентификатор">Текст</label>

dma84
На сайте с 21.04.2009
Offline
168
#9
pahanmcs:
http://htmlbook.ru/html/LABEL
Пожалуйста, рассматриваются два случая

---------- Добавлено 27.10.2017 в 17:12 ----------


<input id="идентификатор"><label for="идентификатор">Текст</label>

Приплыли, input не имеет закрывающего тега, label расположен не внутри инпута, а после него.

P
На сайте с 13.05.2014
Offline
78
#10
dma84:
Приплыли, input не имеет закрывающего тега, label расположен не внутри инпута, а после него.

спасибо, "внутри" не так выразился и понял. Весь мой вопрос склонялся только к правильности label перед или после input

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий