КАК

Как домой

Меню

Панель значков Значок меню Аккордеон Вкладки Вертикальные вкладки Заголовки вкладок Вкладки на всю страницу Вкладки при наведении Верхняя навигация Отзывчивый Topnav Панель навигации с иконками Меню поиска Панель поиска Фиксированная боковая панель Навигация по страницам Адаптивная боковая панель Полноэкранная навигация Меню вне холста Кнопки Hover Sidenav Боковая панель с иконками Горизонтальное меню прокрутки Вертикальное меню Нижняя навигация Отзывчивая нижняя навигация Навигационные ссылки на нижней границе Ссылки меню с выравниванием по правому краю Ссылка на меню по центру Ссылки меню одинаковой ширины Фиксированное меню Полоса слайда вниз при прокрутке Скрыть панель навигации при прокрутке Уменьшить панель навигации при прокрутке Липкая панель навигации Панель навигации на изображении Выпадающие списки при наведении Нажмите «Раскрывающиеся списки». Каскадное выпадающее меню Выпадающий список в Topnav Выпадающий список в Сиденаве Выпадающий список Resp Navbar Меню поднавигации Выпадающий Мега Меню Мобильное меню Меню штор Свернутая боковая панель Свернутая боковая панель Пагинация Панировочные сухари Группа кнопок Вертикальная группа кнопок Липкая социальная панель Навигация по таблеткам Адаптивный заголовок

Картинки

Слайд-шоу Галерея слайд-шоу Модальные изображения Лайтбокс Адаптивная сетка изображений Сетка изображений Галерея вкладок Наложение изображения Слайд с наложенным изображением Масштаб наложения изображения Заголовок наложения изображения Значок наложения изображения Эффекты изображения Черно-белое изображение Текст изображения Текстовые блоки изображения Прозрачный текст изображения Полное изображение страницы Форма на изображении Изображение героя Размытие фонового изображения Изменить Bg при прокрутке Параллельные изображения Округлые изображения Изображения аватара Адаптивные изображения Центрировать изображения Миниатюры Граница вокруг изображения Встретить команду Прилипшее изображение Перевернуть изображение Встряхнуть изображение Портфолио Галерея Портфолио с фильтрацией Увеличение изображения Стекло лупы изображения Ползунок сравнения изображений Фавикон

Кнопки

Кнопки оповещения Кнопки контура Кнопки разделения Анимированные кнопки Затухающие кнопки Кнопка на изображении Кнопки социальных сетей Читать дальше Читать меньше Кнопки загрузки Кнопки загрузки Кнопки таблетки Кнопка уведомления Кнопки со значками Кнопки «Следующая/предыдущая» Кнопка «Дополнительно» в навигации Кнопки блокировки Текстовые кнопки Круглые кнопки Кнопка прокрутки вверх

Формы

Форма входа Форма регистрации Форма оформления заказа Форма обратной связи Форма входа через социальную сеть Регистрационная форма Форма с иконками Новостная рассылка Сложенная форма Отзывчивая форма Всплывающая форма Встроенная форма Очистить поле ввода Скрыть цифровые стрелки Скопировать текст в буфер обмена Анимированный поиск Кнопка поиска Полноэкранный поиск Поле ввода в панели навигации Форма входа в Navbar Пользовательский флажок/радио Пользовательский выбор Переключить переключатель Установите флажок Обнаружение Caps Lock Кнопка триггера при входе Проверка пароля Переключить видимость пароля Многоступенчатая форма Автозаполнение Отключить автозаполнение Отключить проверку орфографии Кнопка загрузки файла Проверка пустого ввода

Фильтры

Список фильтров Таблица фильтров Фильтрующие элементы Выпадающий список фильтров Сортировать список Таблица заклинаний

Столы

Полосатый стол под зебру Центральные столы Стол во всю ширину Параллельные столы Адаптивные таблицы Сравнительная таблица

Более

Полноэкранное видео Модальные коробки Удалить модальное Лента новостей Индикатор прокрутки Индикаторы прогресса Панель навыков Ползунки диапазона Подсказки Отображение элемента при наведении Всплывающие окна Складной Календарь HTML включает Список дел Погрузчики Звездный рейтинг Рейтинг пользователей Эффект наложения Контактные чипы Открытки Флип-карта Карточка профиля Карточка товара Оповещения Вызывать Примечания Этикетки Круги Стиль HR Купон Группа списка Список без маркеров Отзывчивый текст Вырезанный текст Светящийся текст Фиксированный нижний колонтитул Липкий элемент Равная высота Клирфикс Отзывчивые поплавки Закусочная Полноэкранное окно Прокрутка рисования Гладкая прокрутка Градиентная прокрутка Bg Липкий заголовок Уменьшить заголовок при прокрутке Таблица цен Параллакс Соотношение сторон Отзывчивые фреймы Переключить Нравится/Не нравится Переключить скрыть/показать Переключить темный режим Переключить текст Переключить класс Добавить класс Удалить класс Активный класс В виде дерева Удалить свойство Автономное обнаружение Найти скрытый элемент Перенаправить веб-страницу Увеличить при наведении Флип-бокс Центрировать по вертикали Центральная кнопка в DIV Переход при наведении Стрелки Формы Ссылка для скачивания Полноразмерный элемент Окно браузера Пользовательская полоса прокрутки Скрыть полосу прокрутки Показать/принудительно включить полосу прокрутки Внешний вид устройства Редактируемая граница Цвет заполнителя Цвет выделения текста Цвет пули Вертикальная линия Разделители Анимированные иконки Таймер обратного отсчета Печатная машинка Страница скоро появится Сообщения чата Всплывающее окно чата Разделенный экран Отзывы Счетчик секций Слайд-шоу цитат Закрываемые элементы списка Типичные точки останова устройства Перетаскиваемый элемент HTML Медиа-запросы JS Подсветка синтаксиса JS-анимации Длина строки JS JS Возведение в степень Параметры JS по умолчанию Получить текущий URL-адрес Получить текущий размер экрана Получить элементы iframe

Веб-сайт

Создать бесплатный веб-сайт Сделать сайт Сделать статический сайт Сделать сайт (W3.CSS) Сделать веб-сайт (BS3) Сделать веб-сайт (BS4) Сделать веб-сайт (BS5) Создание и просмотр веб-сайта Создайте сайт с деревом ссылок Создать портфолио Создать резюме Сделать сайт ресторана Сделать бизнес-сайт Сделать веб-книгу Веб-сайт центра Контактная информация О странице Большой заголовок Пример веб-сайта

Сетка

2 столбца 3 столбца 4 столбца Расширяющаяся сетка Представление списка в виде сетки Смешанная компоновка столбцов Карты столбцов Схема «зигзаг» Макет блога

Google

Google диаграммы Гугл шрифты Сочетания шрифтов Google Гугл настроить аналитику

Преобразователи

Преобразовать вес Преобразование температуры Преобразование длины Преобразование скорости

Блог

Получить работу разработчика Станьте фронтенд-разработчиком.

Как сделать - Пользовательское поле выбора


Узнайте, как создавать собственные поля выбора с помощью CSS и JavaScript.


Пользовательское поле выбора

Дефолт:

Обычай:

Выберите автомобиль:
Ауди
БМВ
Ситроен
Форд
Хонда
Ягуар
Land Rover
Мерседес
Мини
Ниссан
Тойота
Вольво


Создать пользовательское меню выбора

Шаг 1) Добавьте HTML:

Пример

<!-- Surround the select box within a "custom-select" DIV element.
Remember to set the width: -->
<div class="custom-select" style="width:200px;">
  <select>
    <option value="0">Select car:</option>
    <option value="1">Audi</option>
    <option value="2">BMW</option>
    <option value="3">Citroen</option>
    <option value="4">Ford</option>
    <option value="5">Honda</option>
    <option value="6">Jaguar</option>
    <option value="7">Land Rover</option>
    <option value="8">Mercedes</option>
    <option value="9">Mini</option>
    <option value="10">Nissan</option>
    <option value="11">Toyota</option>
    <option value="12">Volvo</option>
  </select>
</div>

Шаг 2) Добавьте CSS:

Пример

/* The container must be positioned relative: */
.custom-select {
  position: relative;
  font-family: Arial;
}

.custom-select select {
  display: none; /*hide original SELECT element: */
}

.select-selected {
  background-color: DodgerBlue;
}

/* Style the arrow inside the select element: */
.select-selected:after {
  position: absolute;
  content: "";
  top: 14px;
  right: 10px;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-color: #fff transparent transparent transparent;
}

/* Point the arrow upwards when the select box is open (active): */
.select-selected.select-arrow-active:after {
  border-color: transparent transparent #fff transparent;
  top: 7px;
}

/* style the items (options), including the selected item: */
.select-items div,.select-selected {
  color: #ffffff;
  padding: 8px 16px;
  border: 1px solid transparent;
  border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
  cursor: pointer;
}

/* Style items (options): */
.select-items {
  position: absolute;
  background-color: DodgerBlue;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
}

/* Hide the items when the select box is closed: */
.select-hide {
  display: none;
}

.select-items div:hover, .same-as-selected {
  background-color: rgba(0, 0, 0, 0.1);
}


Шаг 3) Добавьте JavaScript:

Пример

var x, i, j, l, ll, selElmnt, a, b, c;
/* Look for any elements with the class "custom-select": */
x = document.getElementsByClassName("custom-select");
l = x.length;
for (i = 0; i < l; i++) {
  selElmnt = x[i].getElementsByTagName("select")[0];
  ll = selElmnt.length;
  /* For each element, create a new DIV that will act as the selected item: */
  a = document.createElement("DIV");
  a.setAttribute("class", "select-selected");
  a.innerHTML = selElmnt.options[selElmnt.selectedIndex].innerHTML;
  x[i].appendChild(a);
  /* For each element, create a new DIV that will contain the option list: */
  b = document.createElement("DIV");
  b.setAttribute("class", "select-items select-hide");
  for (j = 1; j < ll; j++) {
    /* For each option in the original select element,
    create a new DIV that will act as an option item: */
    c = document.createElement("DIV");
    c.innerHTML = selElmnt.options[j].innerHTML;
    c.addEventListener("click", function(e) {
        /* When an item is clicked, update the original select box,
        and the selected item: */
        var y, i, k, s, h, sl, yl;
        s = this.parentNode.parentNode.getElementsByTagName("select")[0];
        sl = s.length;
        h = this.parentNode.previousSibling;
        for (i = 0; i < sl; i++) {
          if (s.options[i].innerHTML == this.innerHTML) {
            s.selectedIndex = i;
            h.innerHTML = this.innerHTML;
            y = this.parentNode.getElementsByClassName("same-as-selected");
            yl = y.length;
            for (k = 0; k < yl; k++) {
              y[k].removeAttribute("class");
            }
            this.setAttribute("class", "same-as-selected");
            break;
          }
        }
        h.click();
    });
    b.appendChild(c);
  }
  x[i].appendChild(b);
  a.addEventListener("click", function(e) {
    /* When the select box is clicked, close any other select boxes,
    and open/close the current select box: */
    e.stopPropagation();
    closeAllSelect(this);
    this.nextSibling.classList.toggle("select-hide");
    this.classList.toggle("select-arrow-active");
  });
}

function closeAllSelect(elmnt) {
  /* A function that will close all select boxes in the document,
  except the current select box: */
  var x, y, i, xl, yl, arrNo = [];
  x = document.getElementsByClassName("select-items");
  y = document.getElementsByClassName("select-selected");
  xl = x.length;
  yl = y.length;
  for (i = 0; i < yl; i++) {
    if (elmnt == y[i]) {
      arrNo.push(i)
    } else {
      y[i].classList.remove("select-arrow-active");
    }
  }
  for (i = 0; i < xl; i++) {
    if (arrNo.indexOf(i)) {
      x[i].classList.add("select-hide");
    }
  }
}

/* If the user clicks anywhere outside the select box,
then close all select boxes: */
document.addEventListener("click", closeAllSelect);