• Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта

Разделители внутри тега select

Предположим, Вам нужен дизайн разделителя между опциями в меню <select>.

Насколько это может быть сложно?

Фэйк-подход с <option>

Это то, что вы обычно видите на StackOverflow:

<select name="because-you-are" required>
  <option value="provocative">One great thing</option>
  <option value="fascinating">And another great thing</option>
  <option disabled value="">__________</option>
  <option value="robotnik">That’s two great things</option>
</select>

К сожалению, этот хак не идеален:

  • Вы не можете знать, насколько широко будет отображаться меню, особенно на мобильных ОС, поэтому поддельный разделитель из подчеркиваний может плохо выглядеть.
  • Вы не можете знать, каким шрифтом он будет отображаться, поэтому, возможно, подчеркивания не образуют непрерывную линию.
  • Ассистивная технология не будет объявлять поддельный разделитель как один, в худшем случае говоря «подчеркивание подчеркивание подчеркивание …» (вы не можете добавить role=»separator», к сожалению.)

Странная функция WebKit / Blink

Если <hr> вставляется между элементами <option> с помощью скрипта, то он отображается как собственный разделитель раскрывающегося меню (по крайней мере, на MacOS):

Как ни странно, это не работает, если он находится в исходном HTML.

Стоит отметить, что это одна из тех функций, которые запросила команда Apple Mail, как старый -webkit-line-clamp. Однако, в Windows этот разделитель все-равно не отрисовывается.

Возможно, это может работать в стандартном HTML, без требования сценариев. <menu type=»context»> допускает <hr> потомков для этого эффекта, в конце концов.

Но это всего лишь специфическое любопытство. Что еще мы можем сделать?

Работа в ограниченной веб-семантике с <optgroup>

Вы хотите разделить выпадающий список на части, да? Ну, единственный реальный способ HTML сделать это — <optgroup>. Это не сепаратор, но он равносилен тому — что <section> в <hr>, вроде.

<select name="handsomest">
  <optgroup label="The Brothers Strong">
    <option>Strong Sad</option>
    <option>Strong Mad</option>
    <option>Strong Bad</option>
  </optgroup>
  <option>The Cheat</option>
</select>

<optgroup> требует атрибута label. Например, посмотрите на все разделители в этом типичном меню” Правка » в Mac OS:

Не могли бы вы дать краткое, точное название каждой из этих групп? Что еще более важно, помогут ли они пользователю вообще, или они будут словесным беспорядком?

Единственное реальное решение — меняйте свой дизайн. Или используйте плагины для кастомизации селектов. Но не надейтесь на кросс-платформенность.

Источник: codepen

2540 просмотров