Часто новички сталкиваются с проблемой оформления выпадающего списка. Так как с оригинальным 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
Прелесть в этом варианте в том, что не нужны никакие скрипты и выглядет вполне не плохо!
Если же у вас есть варианты поинтереснее, пишите в комментариях, а так же можете почитать про «Как сделать галерею со слайдером?»