如何在html选择中使用Bootstrap 3 glyphicon

时间:2013-10-08 22:19:09

标签: twitter-bootstrap twitter-bootstrap-3 html-select glyphicons

我需要让用户在我的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>

然而,我得到的只是空白行。任何帮助或其他建议表示赞赏。

4 个答案:

答案 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="">&#x2212; &#x2212; &#x2212; Hello</option>
    <option value="glyphicon-list-alt">&#xe032; Text</option>
</select>

以下是带有unicode的图标列表:

http://glyphicons.bootstrapcheatsheets.com/

答案 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>

以下是演示:https://www.codeply.com/go/l6ClKGBmLS

答案 3 :(得分:0)

如果您将glyphicon用作字符串的第一个字符,则可以使用html char(请参阅https://glyphicons.bootstrapcheatsheets.com/),然后将字体应用于元素的第一个字符:

    option::first-letter{
        font-family: Glyphicons Halflings;
    }