powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Самый простейший стилизованный переключатель/тумблер/toggle на CSS без label и контейнеров
10 сообщений из 10, страница 1 из 1
Самый простейший стилизованный переключатель/тумблер/toggle на CSS без label и контейнеров
    #39524032
Вайрекс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется куча статей, где сделано через label/:before/:after, да ещё и с position:absolute. И самих стилей там как правило огроменная простыня.

А как-то попроще нельзя ли? У меня нет label, использование каких-то специальных отдельных "контейнеров" исключается, а использование всяких :before/:after мне кажется странным, хотелось бы обойтись без всякой хрени.
Может есть у кого в коллекции самый простейший переключатель/тумблер/toggle самым лаконичным CSS?

Основная разметка сейчас такая:
Код: html
1.
2.
3.
...
Вы можете включить <input type="checkbox" class="option"/> опцию %NAME%:
...


Если ну никак без label нельзя, то максимум что подойдёт:
Код: html
1.
2.
3.
...
<label for="optionA">Вы можете включить опцию %NAME%: </label><input type="checkbox" class="option" id="optionA"/>
...
...
Рейтинг: 0 / 0
Самый простейший стилизованный переключатель/тумблер/toggle на CSS без label и контейнеров
    #39524058
Вайрекс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ковырялся, ковырялся, кажетса совсем без :before/:after/position не получится...
А вот без label и всяких контейнеров очень даже возможно. Жаль я не дизайнер, ну пока будут монохромные.
Кто что думает про задание размеров в em -ах?
...
Рейтинг: 0 / 0
Самый простейший стилизованный переключатель/тумблер/toggle на CSS без label и контейнеров
    #39524063
Фотография бухалтер фантоцци
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rem лучше чем em
...
Рейтинг: 0 / 0
Самый простейший стилизованный переключатель/тумблер/toggle на CSS без label и контейнеров
    #39524116
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВайрексКто что думает про задание размеров в em -ах?в большинстве случаев лучше, чем в пикселях.
...
Рейтинг: 0 / 0
Самый простейший стилизованный переключатель/тумблер/toggle на CSS без label и контейнеров
    #39524516
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВайрексЕсли ну никак без label нельзя, то максимум что подойдёт:
Код: html
1.
2.
3.
...
<label for="optionA">Вы можете включить опцию %NAME%: </label><input type="checkbox" class="option" id="optionA"/>
...


Так и надо, только в другом порядке :)
Код: html
1.
2.
3.
...
<input type="checkbox" class="option" id="optionA"/><label for="optionA">Вы можете включить опцию %NAME%: </label>
...


при чём чекбокс прячем (насколько я помню он правильно работает и с display: none, но можно его куда -то загнать за пределы видимости, что бы наверняка), а с помощью label:before и label:after реализуем ему красивенькую замену. А стилем input.option:checked + label реализуем нужный внешний вид для случая, когда чекбокс выбран.

И нет никакой простыни стилей и разметки... Если стили совсем простые (сам чекбокс не строится стилями, а задаётся как картинка), то достаточно 3 css селекторов, а в вёрстке вообще ничего лишнего не будет.


P.S. Ваша неприязнь к after и before мне не понятна. Это же не костыль, а специальные псевдоэлементы, которые к тому же позволяют не вносить лишнего мусора в разметку!
...
Рейтинг: 0 / 0
Самый простейший стилизованный переключатель/тумблер/toggle на CSS без label и контейнеров
    #39524844
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВайрексКовырялся, ковырялся, кажетса совсем без :before/:after/position не получится... Можно без before/after/position и даже без ID
Здесь 2 варианта:
- через label -> input -> span (javascript не нужен)
- очень простая верстка (чуть-чуть javascript)
http://jsfiddle.net/g78oh3cu/3/
...
Рейтинг: 0 / 0
Самый простейший стилизованный переключатель/тумблер/toggle на CSS без label и контейнеров
    #39524920
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user89ВайрексКовырялся, ковырялся, кажетса совсем без :before/:after/position не получится... Можно без before/after/position и даже без ID
Здесь 2 варианта:
- через label -> input -> span (javascript не нужен)
- очень простая верстка (чуть-чуть javascript)
http://jsfiddle.net/g78oh3cu/3/

Ну то, что без ID - это удобно. Но то, что в вёрстке лишний span появился... это не круче чем after или before в стилях ;)
...
Рейтинг: 0 / 0
Самый простейший стилизованный переключатель/тумблер/toggle на CSS без label и контейнеров
    #39524937
Вайрекс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
бухалтер фантоцци , Спасибо, но мой Хром кажется не понимает rem (или не так понимает) [или я не так понимаю С:].

Програмёр , user89 , В идеале нужно без label и без каких-то span. А после input как раз не должно ничего идти. Так что если допускать label, то только перед input.

Вот чего наваял: https://jsfiddle.net/tk3d8dod/ (дизайн мелкими кусочками повырывал из разных статей)
Конструктивная критика..? :3

Кстати, не просветит ли кто-нибудь почему мне там пришлось писать дважды через запятую и со звёздочкой?:
Код: css
1.
.d2, .d2 * { font: 16px Arial; }

А то не подцеплялось...
...
Рейтинг: 0 / 0
Самый простейший стилизованный переключатель/тумблер/toggle на CSS без label и контейнеров
    #39529569
Вайрекс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишут мол :before и :after не работают для таких элементов как input/button/img - по причине того что те физически не могут содержать дочерних/вложенных элементов.
Однако браузер Chrome имеет некие отличия в этом плане, и в нём данный финт чудом но работает. К огромному счастью лично мне и требуется только для Chrome.
...а для универсального решения надо будет поломать голову ещё.
...
Рейтинг: 0 / 0
Самый простейший стилизованный переключатель/тумблер/toggle на CSS без label и контейнеров
    #39529756
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВайрексПишут мол :before и :after не работают для таких элементов как input/button/img - по причине того что те физически не могут содержать дочерних/вложенных элементов.
Однако браузер Chrome имеет некие отличия в этом плане, и в нём данный финт чудом но работает. К огромному счастью лично мне и требуется только для Chrome.
...а для универсального решения надо будет поломать голову ещё.

Давно Вы занимаетесь вёрсткой? Ваша любовь создавать велосипеды подсказывает мне, что не более полугода.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Самый простейший стилизованный переключатель/тумблер/toggle на CSS без label и контейнеров
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]