感谢评论中的建议。我使用了一种不太正规的方法,以便在不创建自己的图像的情况下获得所需内容。使用JavaScript,我首先隐藏了用于向下箭头的默认 标签,如下所示:
$('b[role="presentation"]').hide();
接下来我在页面中引入了font-awesome,并且使用一行JavaScript代码添加了自己的向下箭头,以替换默认的箭头:
$('.select2-arrow').append('<i class="fa fa-angle-down"></i>');
然后使用CSS来设置下拉框的样式。我设置了高度,将箭头区域的背景颜色变为黑色渐变,更改了宽度、字体大小以及向下箭头的颜色为白色:
.select2-container .select2-choice {
padding: 5px 10px;
height: 40px;
width: 132px;
font-size: 1.2em;
}
.select2-container .select2-choice .select2-arrow {
background-image: -khtml-gradient(linear, left top, left bottom, from(#424242), to(#030303));
background-image: -moz-linear-gradient(top, #424242, #030303);
background-image: -ms-linear-gradient(top, #424242, #030303);
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #424242), color-stop(100%, #030303));
background-image: -webkit-linear-gradient(top, #424242, #030303);
background-image: -o-linear-gradient(top, #424242, #030303);
background-image: linear-gradient(#424242, #030303);
width: 40px;
color: #fff;
font-size: 1.3em;
padding: 4px 12px;
}
结果是我想要的样式:
更新 2015年5月6日
正如@Katie Lacy 在另一个答案中提到的,Select2的第4个版本中更改了类名。 带有新类名的更新CSS应该如下所示:
.select2-container--default .select2-selection--single{
padding:6px;
height: 37px;
width: 148px;
font-size: 1.2em;
position: relative;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
background-image: -khtml-gradient(linear, left top, left bottom, from(#424242), to(#030303));
background-image: -moz-linear-gradient(top, #424242, #030303);
background-image: -ms-linear-gradient(top, #424242, #030303);
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #424242), color-stop(100%, #030303));
background-image: -webkit-linear-gradient(top, #424242, #030303);
background-image: -o-linear-gradient(top, #424242, #030303);
background-image: linear-gradient(#424242, #030303);
width: 40px;
color: #fff;
font-size: 1.3em;
padding: 4px 12px;
height: 27px;
position: absolute;
top: 0px;
right: 0px;
width: 20px;
}
JS:
$('b[role="presentation"]').hide();
$('.select2-selection__arrow').append('<i class="fa fa-angle-down"></i>');