我在某个项目上使用字体awsome但我有一些我想用字体真棒图标做的事情,我可以轻松调用这样的图标
<i class="fa fa-lock"></i>
是否有可能所有图标总是带有边框的圆形,这样的东西我有图片
使用
i
{
background-color: white;
border-radius: 50%;
border: 1x solid grey;
padding:10px;
}
会起作用,但问题是图标总是比那个txt或元素更大,任何解决方案?
答案 0 :(得分:204)
使用Font Awesome,您可以轻松使用这样的堆叠图标:
<span class="fa-stack fa-lg">
<i class="fa fa-circle-thin fa-stack-2x"></i>
<i class="fa fa-lock fa-stack-1x"></i>
</span>
更新: - 小提琴stacked icons
答案 1 :(得分:142)
i.fa {
display: inline-block;
border-radius: 60px;
box-shadow: 0px 0px 2px #888;
padding: 0.5em 0.6em;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<i class="fa fa-wrench"></i>
<小时/> 旧答案的JsFiddle:http://fiddle.jshell.net/4LqeN/
答案 2 :(得分:28)
你不需要css或html技巧。 Font Awesome已经内置了它 - fa-stack
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa-flag fa-stack-1x fa-inverse"></i>
</span>
//我们现在圈内有facebook图标:)
答案 3 :(得分:24)
如果您使用ems进行测量,包括line-height
,font-size
和border-radius
,使用text-align: center
,它会让事情变得非常可靠:
#info i {
font-size: 1.6em;
width: 1.6em;
text-align: center;
line-height: 1.6em;
background: #666;
color: #fff;
border-radius: 0.8em; /* or 50% width & line-height */
}
答案 4 :(得分:11)
更新:而是使用flex。
如果你想要精确度,这就是你要走的路。
小提琴。去玩 - &gt; http://jsfiddle.net/atilkan/zxjcrhga/
这是HTML
<div class="sosial-links">
<a href="#"><i class="fa fa-facebook fa-lg"></i></a>
<a href="#"><i class="fa fa-twitter fa-lg"></i></a>
<a href="#"><i class="fa fa-google-plus fa-lg"></i></a>
<a href="#"><i class="fa fa-pinterest fa-lg"></i></a>
</div>
这是CSS
.sosial-links a{
display: block;
float: left;
width: 36px;
height: 36px;
border: 2px solid #909090;
border-radius: 20px;
margin-right: 7px; /*space between*/
}
.sosial-links a i{
padding: 12px 11px;
font-size: 20px;
color: #909090;
}
玩得开心
答案 5 :(得分:8)
您也可以这样做。我想在我的icomoon图标周围添加一个圆圈。这是代码。
span {
font-size: 54px;
border-radius: 50%;
border: 10px solid rgb(205, 209, 215);
padding: 30px;
}
答案 6 :(得分:4)
这是您不需要使用padding
的方法,只需为height
设置width
和a
,然后让flex
处理与margin: 0 auto
。
.social-links a{
text-align:center;
float: left;
width: 36px;
height: 36px;
border: 2px solid #909090;
border-radius: 100%;
margin-right: 7px; /*space between*/
display: flex;
align-items: flex-start;
transition: all 0.4s;
-webkit-transition: all 0.4s;
}
.social-links a i{
font-size: 20px;
align-self:center;
color: #909090;
transition: all 0.4s;
-webkit-transition: all 0.4s;
margin: 0 auto;
}
.social-links a i::before{
display:inline-block;
text-decoration:none;
}
.social-links a:hover{
background: rgba(0,0,0,0.2);
}
.social-links a:hover i{
color:#fff;
}
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="social-links">
<a href="#"><i class="fa fa-facebook fa-lg"></i></a>
<a href="#"><i class="fa fa-twitter fa-lg"></i></a>
<a href="#"><i class="fa fa-google-plus fa-lg"></i></a>
<a href="#"><i class="fa fa-pinterest fa-lg"></i></a>
</div>
答案 7 :(得分:4)
<强>更新强>:
最近学习flex时,有一种更清洁的方式(没有表格和更少的CSS)。将包装器设置为display: flex;
,并使其子项居中,为(垂直)和align-items: center;
(水平)居中提供属性justify-content: center;
。
奇怪的是之前没有人提出过这个问题。我总是用表来做这件事
只需使包装器中包含display: table
和中心内容,其中text-align: center
用于水平,vertical-align: middle
用于垂直对齐。
<div class='wrapper'>
<i class='icon fa fa-bars'></i>
</div>
和这样的一些sass
.wrapper{
display: table;
i{
display: table-cell;
vertical-align: middle;
text-align: center;
}
}
或看到此JS Fiddle
答案 8 :(得分:2)
下面的例子对我来说不起作用,这是我工作的版本!
HTML:
<div class="social-links">
<a href="#"><i class="fa fa-facebook fa-lg"></i></a>
<a href="#"><i class="fa fa-twitter fa-lg"></i></a>
<a href="#"><i class="fa fa-google-plus fa-lg"></i></a>
<a href="#"><i class="fa fa-pinterest fa-lg"></i></a>
</div>
CSS:
.social-links {
text-align:center;
}
.social-links a{
display: inline-block;
width:50px;
height: 50px;
border: 2px solid #909090;
border-radius: 50px;
margin-right: 15px;
}
.social-links a i{
padding: 18px 11px;
font-size: 20px;
color: #909090;
}
答案 9 :(得分:2)
试试这个
HTML:
<div class="icon-2x-circle"><i class="fa fa-check fa-2x"></i></div>
CSS:
i {
width: 30px;
height: 30px;
}
.icon-2x-circle {
text-align: center;
padding: 3px;
display: inline-block;
-moz-border-radius: 100px;
-webkit-border-radius: 100px;
border-radius: 100px;
-moz-box-shadow: 0px 0px 2px #888;
-webkit-box-shadow: 0px 0px 2px #888;
box-shadow: 0px 0px 2px #888;
}
答案 10 :(得分:1)
字体真棒图标作为:之前插入。因此,您可以设置 i 或 a 的样式:
.i {
background: #fff;
border-radius: 50%;
display: inline-block;
height: 20px;
width: 20px;
}
<a href="#"><i class="fa fa-facebook fa-lg"></i></a>
答案 11 :(得分:0)
您可以使用以下代码简单地获取圆形图标:
<a class="facebook-share-button social-icons" href="" target="_blank">
<i class="fab fa-facebook socialicons"></i>
现在您的CSS将是:
.social-icons {
display: inline-block;border-radius: 60px;box-shadow: 0px 0px 2px #888;padding: 0.5em 0.6em;background: #0D47A1;font-size: 20px;
}.socialicons{color: white;}
答案 12 :(得分:0)
我喜欢戴夫·埃弗里特(Dave Everitt)的“行高”答案,但是只能通过指定“高度”来工作,然后我们必须在行高中添加“!important”。
.cercle {
font-size: 2em;
width: 2em;
height: 2em;
text-align: center;
line-height: 2em!important;
background: #666;
color: #fff;
border-radius: 2em;
}
答案 13 :(得分:0)
这是到目前为止我发现的最好,最精确的解决方案。
CSS:
.social .fa {
margin-right: 1rem;
border: 2px #fff solid;
border-radius: 50%;
height: 20px;
width: 20px;
line-height: 20px;
text-align: center;
padding: 0.5rem;
}