我需要让用户在我的ui中选择一个Bootstrap 3 glyphicons的子集。
我试过了:
<select class="form-control">
<option><span class="glyphicon glyphicon-cutlery"></span></option>
<option><span class="glyphicon glyphicon-eye-open"></span></option>
<option><span class="glyphicon glyphicon-heart-empty"></span></option>
<option><span class="glyphicon glyphicon-leaf"></span></option>
<option><span class="glyphicon glyphicon-music"></span></option>
<option><span class="glyphicon glyphicon-send"></span></option>
<option><span class="glyphicon glyphicon-star"></span></option>
</select>
然而,我得到的只是空白行。任何帮助或其他建议表示赞赏。
答案 0 :(得分:20)
我最终使用了bootstrap 3下拉按钮,我在这里发布我的解决方案,以防将来帮助某人。将bootstrap 3 list-inline添加到ul的类中会导致它以非常紧凑的格式显示。
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
Select icon <span class="caret"></span>
</button>
<ul class="dropdown-menu list-inline" role="menu">
<li><span class="glyphicon glyphicon-cutlery"></span></li>
<li><span class="glyphicon glyphicon-fire"></span></li>
<li><span class="glyphicon glyphicon-glass"></span></li>
<li><span class="glyphicon glyphicon-heart"></span></li>
</ul>
</div>
我正在使用Angular.js,所以这是我使用的实际代码:
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
Avatar <span class="caret"></span>
</button>
<ul class="dropdown-menu list-inline" role="menu">
<li ng-repeat="avatar in avatars" ng-click="avatarSelected(avatar)">
<span ng-class="getAvatar(avatar)"></span>
</li>
</ul>
</div>
在我的控制器中:
$scope.avatars=['cutlery','eye-open','flag','flash','glass','fire','hand-right','heart','heart-empty','leaf','music','send','star','star-empty','tint','tower','tree-conifer','tree-deciduous','usd','user','wrench','time','road','cloud'];
$scope.getAvatar=function(avatar){
return 'glyphicon glyphicon-'+avatar;
};
答案 1 :(得分:20)
据我所知,在本机选择中实现此目的的唯一方法是使用字体的unicode表示。您必须将glyphicon字体应用于选择,因此不能将其与其他字体混合使用。但是,glyphicons包含常规字符,因此您可以添加文本。不幸的是,似乎无法为各个选项设置字体。
<select class="form-control glyphicon">
<option value="">− − − Hello</option>
<option value="glyphicon-list-alt"> Text</option>
</select>
以下是带有unicode的图标列表:
答案 2 :(得分:19)
我认为标准HTML选择不会显示HTML内容。我建议查看Bootstrap select:http://silviomoreto.github.io/bootstrap-select/
它有几个选项用于在选择中显示图标或其他HTML标记。
<select id="mySelect" data-show-icon="true">
<option data-content="<i class='glyphicon glyphicon-cutlery'></i>">-</option>
<option data-subtext="<i class='glyphicon glyphicon-eye-open'></i>"></option>
<option data-subtext="<i class='glyphicon glyphicon-heart-empty'></i>"></option>
<option data-subtext="<i class='glyphicon glyphicon-leaf'></i>"></option>
<option data-subtext="<i class='glyphicon glyphicon-music'></i>"></option>
<option data-subtext="<i class='glyphicon glyphicon-send'></i>"></option>
<option data-subtext="<i class='glyphicon glyphicon-star'></i>"></option>
</select>
答案 3 :(得分:0)
如果您将glyphicon用作字符串的第一个字符,则可以使用html char(请参阅https://glyphicons.bootstrapcheatsheets.com/),然后将字体应用于元素的第一个字符:
option::first-letter{
font-family: Glyphicons Halflings;
}