Bootstrap 图标未显示

6

我正在使用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 上进行测试。如果图标在那里无法显示,那么他是否拥有字体也就不重要了。 - Tim Lewis
我看不出问题。似乎可以工作 http://jsfiddle.net/DTcHh/2916/ - David Moreno García
是的,我把Glyphicons放在另一个区域,它可以工作,但在这个地方却不能工作。 - Ricardo
@Invent-Animate 他在谈论一个 glyphicon 而不是一个相对路径的图像。 - David Moreno García
你能否请看一下我在Bootstrap glyphicon not showing in Form的回答? - Murat Yıldız
显示剩余3条评论
3个回答

8

这似乎是由 .input-group-btn 引起的。有一个规则将此元素的字体大小设置为0。添加以下样式规则:

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

Working sample


你知道如何在<div class="container">中垂直和水平对齐吗? - Ricardo
@RicardoHenrique 你在这里有一篇不错的文章 http://www.smashingmagazine.com/2013/08/09/absolute-horizontal-vertical-centering-css/。 - David Moreno García
请查看此线程:https://dev59.com/VWEh5IYBdhLWcg3wpEtF - David Moreno García

1

在阅读了许多关于此主题的帖子后,我想出了解决我的Glyphicon错误的方法:

找到字体目录

directory path: node_modules/bootstrap/fonts

将“字体”目录复制并粘贴到你已经在开发中使用的 Bootstrap 目录中。
我使用 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/"
        }
    },

我的眼泪终于在此后消失了 :)


0

Bootply 示例

我会将这个作为你搜索栏的一个替代方案发布:

<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处理程序,如果您想要导航到某个地方(请注意,它不再是<a>标记)。

希望这可以帮助您!

注意

问题(我认为)出现在将input-group-btn用于样式为按钮的<a>标记上。在Bootstrap示例中,input-group-btn是一个带有<button>标记的。您还可以尝试在<a>标记周围放置<span class="input-group-btn">,看看是否有所不同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接