Twitter Bootstrap 3 - 如何使用自定义图标正确替换glypicons?

时间:2015-06-09 06:50:48

标签: css twitter-bootstrap image-size

这是我的HTML:

<ul class="nav nav-pills nav-stacked custom-nav-pills">
    <li><a href="#"><span class="glyphicon glyphicon-home"></span>  Home</a></li>
    <li><a href="#"><span class="glyphicon glyphicon-user"></span> About</a></li>
</ul>

现在,Bootstrap 3使用的glyphicons是一定的大小。我喜欢这个尺寸,但我不喜欢实际的图标,所以我决定创建自己的自定义图标。然后我把它作为我的CSS:

.glyphicon-home {
    content: url("custom-home-icon.png");
}

基本上,我所做的只是改变班级的形象。但是,现在当我查看我的.html页面时,我的自定义主页图标与其他glyphicon相比非常大(尽管我没有改变类 - 我只是覆盖了图像 - 这意味着图像应该仍然有相同的CSS /大小吗?)。

如何使我的自定义主页图标与其他glyphicons的大小相同?

1 个答案:

答案 0 :(得分:4)

使用图像获得与Glyphicon或任何其他图标字体相同的结果和体验非常困难,几乎不可能。

拥有字体的优点是您可以轻松地操作图标本身,就像您在元素中设置样式一样。大小,颜色,您可以添加到文本的任何内容,您也可以将其添加到图标上!

但是如果你想使用图像而不是字体,那么你是有限的。您设置图标,然后可能添加几个类,您可以使用它们来操纵图标的大小。关于图标的颜色,除了有两个或更多不同颜色的图标外,我不知道任何其他方式。

这是一个CSS示例:

.your-icon {
    position: relative;
    top: 1px;
    display: inline-block;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    float: left;
    display: block; /* This is required */
}

.your-icon.icon-home {
    background: url(http://www.clipartbest.com/cliparts/9Tz/Ez9/9TzEz9pLc.png);
    background-size: cover;
}

.your-icon.normal {
    width: 32px;
    height: 32px;
}

.your-icon.small {
    width: 16px;
    height: 16px;
}

.your-icon.medium {
    width: 64px;
    height: 64px;
}

.your-icon.large {
    width: 128px;
    height: 128px;
}

HTML:

<ul class="nav nav-pills nav-stacked custom-nav-pills">
    <li><a href="#"><span class="your-icon icon-home small"></span>  Home</a>
    </li>
    <li><a href="#"><span class="glyphicon glyphicon-user"></span> About</a>
    </li>
</ul>

演示:http://jsfiddle.net/q7wxwgod/

或者您可以选择不同的图标字体,其中包含您可能更喜欢的图标。这是一些列表:

或者您可以在互联网上找到将图标转换为字体的工具:http://fontello.com/