Как стать автором
Обновить

Комментарии 23

Ай-ай-ай, какая неприятность
image
А зачем?
Недостатком всего этого является то, что у каждого способа будут досадные недостатки, которые в реальности будут всех раздражать, а JS-аналог обычно занимает несколько строк. Небольшая цена, чтобы сделать все нормально
JS-аналог обычно занимает несколько строк
Как жаль, что эти несколько строк обычно подразумевают использование какой-нибудь библиотеки на пару мегабайт…
Конкретно то, что указано в статье довольно сложно реализовать в пару мегабайт
«А если у пользователя будет отключен javascript?»
2021 на дворе, а js до сих пор воспринимается как необязательная часть, которую якобы пользовать может не использовать, ну или использовать какой нибудь другой язык(иначе зачем писать type=«javascript»). Смиритесь уже javascript это никакой не хак, это часть браузера наряду с html и css. Задачу нужно решать так как удобнее, не ограничивая себя в инструментах. Из представленных примеров аккардеон, например, удобнее и понятнее реализовать на js. А вот рейтинг действительно вполне можно сделать на css — просто стилизовать нативные инпуты.

Чем больше событий и действий обрабатывается при помощи JavaScript тем больше тормозят сайты. Различные фреймворки например пытаются сгладить это давая возможность программисту задавать параметры анимаций в JavaScript и генерируют в результате CSS. Но лучше писать сразу CSS и убрать зависимость от фреймворка.


Реализуя без JavaScript те задачи которые можно решить без него мы перекладываем задачу на код браузера который должен работать быстрее. И таким образом освобождаем процессорное время для других задач.

Вы вообще представляете насколько сложен парсер/движок css? Внезапно на обработку css тоже тратятся ресурсы. Особенно если там хак на хаке.

Да на обработку CSS тоже тратятся ресурсы. И так или иначе CSS используется для стилизации и манипуляции елементами. Просто в одном случае CSS будет скрыт прослойкой Javascript а в другом он пишется напрямую.


Не понимание того как работает CSS приводит к тому что программист вынужден дублировать функциональность которая уже есть в коде браузера медленным JavaScript и тем самым замедлять работу сайта.

НЛО прилетело и опубликовало эту надпись здесь
Почему это выпадают из статистики? Счётчики не только на js работают.
Я уверен что многие вещи, которые раньше можно было сделать только на js, сегодня благодаря развитию html и css, можно, и даже нужно, делать без использования скриптов. Но в некоторых случаях реализация на «чистом css/html» будет запутана, ненадёжна, да и просто тормознута, по сравнению с двумя строчками js. Ну и у js есть много других применений помимо слайдеров/аккордеонов. Так что списывать немного рано.
НЛО прилетело и опубликовало эту надпись здесь
> Если ваш сайт не может хоть как-то работать без js, то найдётся другой
Серьезно? Тяжело же вам приходится в интернете. Сейчас все больше сайтов работают по принципу приложения. Без JS интернет сегодня не нужен, это просто факт.
Сейчас все больше сайтов работают по принципу приложения.

Потому что зачем учить какие-то другие подходы, тратиться на ресурсы сервера, и так далее. Выучил реакт — можешь всё. Отправили статический JS — дальше это проблема телефона и его пользователя, почему так медленно рисуется.

Ой, ну не надо истерик. Мы о другом сейчас говорим
НЛО прилетело и опубликовало эту надпись здесь

Усечение текста на CSS и надо делать. Но хаки со статусами чекбоксов/радио-батонов выглядят несколько костыльно, т.к. чекбоксы используются не совсем по назначению.

А мне реализация рейтинга на radio button кажется вполне нормальной. Вот ещё видео на 40 минут от Вадима Макеева с пошаговой реализацией. Его версия гораздо функциональней представленной в статье
Ну реализовали вы рейтинг на CSS, что в принципе является одним из более-менее адекватных примеров. А дальше что? Данные отправляются на сервер с помощью JS, потому что вы же не хотите перезагружать всю страницу ради отправки рейтинга?
Почему данные отправляются с помощью JS? Это вовсе необязательно. Обычная форма без проблем отправит данные
И я не ратую за отказ от JS. Мне js нравиться. Просто именно рейтинг удобнее сделать без него

Я понимаю что это перевод статьи и в оригинале примеры и их код находится на codepen. Но хотябы код продублируйте пожалуйста под спойлерами в самой статье чтоб не приходилось заходить на codepen. Он у меня всячески отказывается правильно работать и показывает в первую очередь свои предупреждения вместо того что должен.

а старые браузеры больше не нужно поддерживать

"Умеют верстать только под ИЕ" 2021 Edition

А как убрать все звезды? Последнуюю звезду убрать не получается.
Выходит, что если поставил рейтинг убрать его полностью уже нельзя.
И если эти значения участвуют в каком-то общем рейтинге, то всё, ты уже искажаешь статистику. Из-за того, что случайно щелкнул, а убрать уже нельзя.

Можно конечно сделать нулевую звезду, но это как-то неинтуитивно и непривычно.
Компонент рейтинга
Недостатком этой реализации является то, что радиокнопки находятся в обратном порядке

Можно решить и не меняя обратного порядка:
.rating:hover .rating__label {
  color: lightgrey;
}
.rating:hover .rating__label:hover ~ .rating__label {
  color: gray;
}
Зарегистрируйтесь на Хабре, чтобы оставить комментарий