【问题标题】:Bootstrap Glyphicons not showingBootstrap Glyphicons 未显示
【发布时间】:2015-02-22 15:36:11
【问题描述】:

我正在使用 bootstrap 3,我将一个 Glyphicons 与输入文本并排放置,并且 Glyphicons 没有显示(但 btn-info 显示)我正在使用:class="input-group" 来包含 glyphicon,输入文本并提交按钮。

代码如下:

<body>
    <nav class="navbar navbar-default" role="navigation">
        <div class="container">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header">
                <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> 
                    <span class="sr-only">Toggle navigation</span> 
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button> 
                <a class="navbar-brand" href="#">Meu Site</a>
            </div>
            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav navbar-right">
                    <li><a href="#">News</a></li>
                    <li><a href="#">Login</a></li>
                    <li><a href="#">Create Account</a></li>
                </ul>
            </div><!-- /.navbar-collapse -->
        </div><!-- /.container -->
    </nav>

    <div class="container">
        <div class="row">
            <div class="span7 text-center col-md-4 col-md-offset-3" style="float: none; margin-left: auto;margin-right: auto;">
                <img src="../../app.images/logo.jpg" />
            </div>
            <form class="span7 text-center col-md-4 col-md-offset-3" style="float: none; margin-left: auto;margin-right: auto;" role="search">
                <div class="form-group">
                    <label class="radio-inline"><input type="radio" name="optradio">Opt1</label>
                    <label class="radio-inline"><input type="radio" name="optradio" checked="">Opt2</label>
                    <label class="radio-inline"><input type="radio" name="optradio">Opt3</label>
                </div>

                <div class="input-group">
                    <a href="#" class="btn btn-info input-group-btn">
                      <span class="glyphicon glyphicon-th"></span>
                    </a>
                    <input class="form-control " type="text" placeholder="Search" />
                    <div class="input-group-btn">
                        <button class="btn btn-default" type="submit">Search</button>
                    </div>
                </div>
            </form>
            <div class="span7 text-center col-md-4 col-md-offset-3" style="float: none; margin-left: auto;margin-right: auto;">
                Slogan
            </div>
            <div class="span7 text-center col-md-4 col-md-offset-3" style="float: none; margin-left: auto;margin-right: auto;">
                <a href="#">Mobile</a>
                <a href="#">Addons</a>
                <a href="#">Contact</a>
            </div>
        </div>
    </div>
</body>

【问题讨论】:

  • @teeyo 在询问之前尝试使用 Bootply 或 JSFiddle 进行测试。图标没有出现在那里,所以他有没有字体都没有关系。
  • 我没有看到问题。似乎工作jsfiddle.net/DTcHh/2916
  • @Invent-Animate 这是图片链接,不是字形图标。但是,我看到一个问题:bootply.com/l9xWSGFDWU
  • 是的,我将 Glyphicons 放在另一个区域并且可以工作,但在这个地方没有工作
  • @Invent-Animate 他说的是字形图标,而不是具有相对路径的图像。

标签: twitter-bootstrap-3


【解决方案1】:

似乎是由 .input-group-btn 引起的。有一个规则可以将此元素的 font-size 设置为 0。添加一个样式规则:

div.container a.input-group-btn {
    font-size: 14px;
}

Working sample

【讨论】:

【解决方案2】:

Bootply Example

我会将其发布为您搜索栏的替代品:

<div class="input-group">
  <span class="input-group-btn">
    <button class="btn btn-info" type="button"><span class="glyphicon glyphicon-th"></span></button>
  </span>
  <input type="text" class="form-control" placeholder="Search for...">
  <div class="input-group-btn">
    <button class="btn btn-default" type="submit">Search</button>
  </div>
</div><!-- /input-group -->

基本上,替换这段代码:

<div class="input-group">
  <a href="#" class="btn btn-info input-group-btn">
    <span class="glyphicon glyphicon-th"></span>
  </a>
  <input class="form-control " type="text" placeholder="Search" />
  <div class="input-group-btn">
    <button class="btn btn-default" type="submit">Search</button>
  </div>
</div>

使用上面的那个,如果你想在某个地方导航,请向按钮添加一个 Javascript 处理程序(注意它不再是 &lt;a&gt; 标记)。

希望这会有所帮助!

注意

问题(我认为)源于在样式为按钮的&lt;a&gt; 标签上使用input-group-btn。在 Bootstrap 示例中,input-group-btn 是一个带有 &lt;button&gt; 标记的跨度。您也可以尝试将&lt;span class="input-group-btn"&gt; 放在您的&lt;a&gt; 标记周围,看看是否会有所不同。

【讨论】:

    【解决方案3】:

    在阅读了有关此主题的许多主题后,这是我想出的解决方案,最终修复了我的 Glyphicon 错误:

    查找目录字体

    directory path: node_modules/bootstrap/fonts
    

    fonts 目录复制并粘贴到您已经从中进行开发的源引导目录中。

    我使用 Grunt 作为我的任务管理器,因此在我的 Gruntfile.js 中,我确保发出以下内容:

    copy: {
            main: {
                expand: true,
                cwd: "node_modules/",
                src: [
    
                    "bootstrap/dist/css/bootstrap.min.css",
                    "bootstrap/dist/css/bootstrap.min.css.map",
                    "bootstrap/*.*",
                    "bootstrap/**/*.*"
                ],
    
                "dest": "server/public/vendor/"
            }
        },
    

    后来我的眼泪终于流了:)

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签