Меню ×
Кроссбраузерная стилизация select на CSS

Кроссбраузерная стилизация select на CSS

В данной статье приведен пример стилизации select'а на чистом CSS для Chrome, Safari, Firefox и IE9+ без добавления дополнительных элементов.

CSS

	
select {
	width              : 100px;
	height             : 26px;
	border-radius      : 10px;
	-webkit-appearance : none;
	background-image   : url('select-arrow.png');
	background-position: right center;
	background-repeat  : no-repeat;
	line-height        : 1em;
	/* for FF */
	-moz-appearance    : none;
	text-indent        : 0.01px; 
	text-overflow      : '';
	/* for IE */
	-ms-appearance     : none;
	appearance         : none !important;
}
 
select::-ms-expand {
	display: none;
}
	

Здесь первая часть кода отвечает за базовую стилизацию элемента. Можно также добавить цвет фона background-color и цвет border'а.

	
	width        : 100px;
	height       : 26px;
	border-radius: 10px;
	

Далее отменяем стандартное отображение select'а

	
	/*for WebKit*/
	-webkit-appearance: none;
	/* for FF */
	-moz-appearance   : none;
	text-indent       : 0.01px; 
	text-overflow     : '';
	/* for IE */
	-ms-appearance    : none;
	appearance        : none !important;
	

Теперь задаем вид стрелочки, которая присутствует в каждом select'е:

	
	background-image   : url('select-arrow.png');
	background-position: right center;
	background-repeat  : no-repeat;
	

Мы специально задаем фон отдельными свойствами, чтобы можно было добавить фоновый цвет и не бояться, что он перекроет картинку.

И осталось маленькое дополнение для IE:

	
select ::-ms-expand {
	display: none;
}
	

Голосов: 1063 | Просмотров: 11456

наверх