Web Scripts

Красивый выпадающий список

• 28-08-2018 •

Часто новички сталкиваются с проблемой оформления выпадающего списка. Так как с оригинальным select особенного ничего не сделаешь. Тогда на помощь приходит jQuery, и тогда можно сделать чуть ли не что угодно.

А что если я скажу, что можно и стандартный HTML выпадающий список не плохо оформить на чистом CSS?

Выпадающий список на HTML

See the Pen Style HTML dropdown by Aleksandrs (@CoolS2) on CodePen.

Цвет фона и текста можно менять, причем делается это очень просто.

HTML


<span class="custom-dropdown big">  
 <select>   
  <option>Sherlock Holmes</option>  
  <option>The Great Gatsby</option>   
  <option>V for Vendetta</option>  
  <option>The Wolf of Wallstreet</option>  
  <option>Quantum of Solace</option> 
 </select> 
</span> 

В span мы добавили 2 класса, один основной, на который ляжут все основные стили «custom-dropdown«, а второй big, который будет определять размер выпадающего списка. Мы можем заранее подготивить скажем 3 размера, big, medium, small, задать в стилях font-size. И в дальнейшем не заморачиваться. Это можно и пропустить, все зависит от вашего дизайна на сайте.

CSS



body {
  background: #2a2a2b;
  color: #fff;
  text-align: center;
  font-family: Arial, Helvetica;
}

.big {
  font-size: 1.2em;
}


/* Custom dropdown */
.custom-dropdown {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 10px; /* demo only */
}

.custom-dropdown select {
  cursor:pointer;
  background-color: #2980b9;
  color: #fff;
  font-size: inherit;
  padding: .5em;
  padding-right: 2.5em;	
  border: 0;
  margin: 0;
  border-radius: 3px;
  text-indent: 0.01px;
  text-overflow: '';
  -webkit-appearance: button; /* hide default arrow in chrome OSX */
}

.custom-dropdown::before,
.custom-dropdown::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.custom-dropdown::after { /*  Custom dropdown arrow */
  content: "\25BC";
  height: 1em;
  font-size: .625em;
  line-height: 1;
  right: 1.2em;
  top: 50%;
  margin-top: -.5em;
}

.custom-dropdown::before { /*  Custom dropdown arrow cover */
  width: 2em;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 0 3px 3px 0;
}

.custom-dropdown select[disabled] {
  color: rgba(0,0,0,.3);
}

.custom-dropdown select[disabled]::after {
  color: rgba(0,0,0,.1);
}

.custom-dropdown::before {
  background-color: rgba(0,0,0,.15);
}

.custom-dropdown::after {
  color: rgba(0,0,0,.4);
}


Если вы не хотите заморачиваться и изучать стили, а просто добавить себе на сайт и поменять цвет под дизайн вашего сайта. То вам всего лишь в стиле «.custom-dropdown select» нужно поменять значения background-color и color

Прелесть в этом варианте в том, что не нужны никакие скрипты и выглядет вполне не плохо!

Если же у вас есть варианты поинтереснее, пишите в комментариях, а так же можете почитать про «Как сделать галерею со слайдером?»

Добавить комментарий