Bootstrap Glyphicons 未显示

Posted

技术标签:

【中文标题】Bootstrap Glyphicons 未显示【英文标题】:Bootstrap Glyphicons not showing 【发布时间】: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 他说的是字形图标,而不是具有相对路径的图像。 【参考方案1】:

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

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

Working sample

【讨论】:

你知道我如何垂直对齐和水平对齐 ? @RicardoHenrique 你在这里有一篇很好的文章smashingmagazine.com/2013/08/09/… 看看这个帖子***.com/questions/22196587/…【参考方案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/"
        
    ,

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

【讨论】:

以上是关于Bootstrap Glyphicons 未显示的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap Glyphicons 未显示在本地 URL 上

Bootstrap Glyphicons 未以 angular2 显示

[Bootstrap入门][组件-Glyphicons 字体图标]

如何删除有关 glyphicons-halflings-regular.woff2 未找到的错误

bootstrap3的Glyphicons 图标无法显示怎么解决

Bootstrap 3+Rails 4 - 某些 Glyphicons 不工作