Использование хака «Checkbox» на живых сайтах - PullRequest
6 голосов
/ 21 января 2012

Так что в последнее время появилось много примеров того, что возможно с помощью "Checkbox Hack" с помощью CSS.

Css-Tricks имеет хорошее объяснение того, что делает хак:

«Checkbox Hack» - это место, где вы используете подключенную метку и флажок вход и, как правило, какой-то другой элемент, которым вы пытаетесь управлять

Источник и дополнительная информация о взломе.

Что мне недавно понравилось, так это эксперимент CoDrops с переключателями для создания функциональности фильтра только с помощью CSS. Просто потрясающе.

Хак может делать довольно удивительные вещи, для которых не требуется JavaScript. Проблема в том, что флажки и переключатели предназначены только для форм, поэтому это плохая семантика. Но я не вижу проблемы использования «хака», который совместим в большинстве браузеров, и обходного пути для мобильных устройств, если это означает меньше JavaScript и лучшую производительность.

Считаете ли вы, что этот вид хака будет "приемлемым" для использования на живых сайтах, даже если это плохая семантика или вы думаете, что это нормально для использования?

1 Ответ

5 голосов
/ 22 января 2012

Прочитайте большой желтый отказ от ответственности на сайте, на который вы ссылаетесь:

Отказ от ответственности : некоторые из этих вещей пересекают линию того, что вы "должны" делать с CSS, и знакомяткакая-то плохая семантика.По-прежнему забавно играть и здорово, что это возможно, но в целом функциональное поведение должно контролироваться JavaScript.

Я бы не сказал, что это «взлом» сам по себе.Все это совершенно верно, есть много других сумасшедших вещей, которые вы можете сделать, например, с помощью + смежного селектора или :focus.Тем не менее, он, безусловно, может быть использован для некоторых "хакерских" вещей.

Если, например, он помогает пользователю заполнить форму: это здорово.Просто помните, что поддержка :checked не универсальна, поэтому, если юзабилити вашего сайта зависит от , ищите альтернативные решения / прокладки через javascript.

Если вы просто добавляетеОтметьте элементы в вашей разметке ради поведения / презентации, тогда да - вам следует избегать этого.Если у вас уже был элемент для начала, и вы просто улучшаете взаимодействие с пользователем, это здорово.

...