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

问题描述 投票:18回答:4

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

但是我得到的只是空白。任何帮助或替代建议赞赏。

twitter-bootstrap twitter-bootstrap-3 html-select glyphicons
4个回答
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


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;
};

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/


0
投票

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

    option::first-letter{
        font-family: Glyphicons Halflings;
    }
© www.soinside.com 2019 - 2024. All rights reserved.