Теги опций стиля

У меня есть раскрывающийся список, содержащий параметры. Я хотел бы частично сломать и выделить текст, а также вставить контекстные перерывы. Я пробовал использовать CSS, а также теги HTML, но я не могу его получить. Может кто-нибудь предложить решение? Спасибо заранее

Ответы

Ответ 1

Я знаю, что этот вопрос немного старый (или не новый, по крайней мере), но я хотел бы показать очень простой способ эмулировать элемент select, а не использовать "плагин замены", как предлагается в Как настроить параметр html "select" ?.

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

Примечание1: Вместо использования <option> я использовал <label>. Так как <label> является интерактивным элементом, размещение чего-то интерактивного внутри (например, <button>), вероятно, испортит его. Опции, как правило, не являются интерактивными, но просто имейте в виду, что эта простая эмуляция не может делать все.

Примечание2: Если вы хотите выбрать несколько параметров, просто выполните поиск по "радио" и замените "флажок".


Эмулировать выбор с помощью радио - без сбоев

input[type="radio"] {
  display: none;
}

input[type="radio"]:checked + label {
  background-color: black;
  color: #28AADC;
}

/* none functional styles.  just regular styling */
.radio_select {
  background-color: #28AADC;
  display: inline-block;
}
<div class="radio_select">
  <div>
    <input id="rad1" type="radio" name="radio_select" />
    <label for="rad1">Option 1</label>
  </div>

  <div>
    <input id="rad2" type="radio" name="radio_select" checked="checked" />
    <label for="rad2">Option 2</label>
  </div>
  
  <div>
    <input id="rad3" type="radio" name="radio_select" />
    <label for="rad3">Option 3</label>
  </div>
</div>