如何圆形字体真棒图标?

时间:2016-11-30 08:04:27

标签: css css3 icons font-awesome rounded-corners

我正在尝试圆形字体真棒图标。请参阅 - http://jsfiddle.net/JfGVE/1704/

问题是,无论如何,圆形图标更加椭圆形。不能使它完美圆润。下面是我的css代码 -

i {
display: inline-block;
background: gray;
color: white;
border-radius: 50%;
padding: 5px;
}

4 个答案:

答案 0 :(得分:2)

最好避免以像素为单位设置固定的宽度和高度。这是一个使用带有after伪元素的额外div来绘制圆圈的sollution,请参阅DEMO

HTML:

<div class="container">
  <i class="fa fa-close"></i>
</div>

CSS:

.container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #555;
  min-width: 2em;
  border-radius: 50%;
  vertical-align: middle;
}

.container:after {
  content:'';
  float: left;
  width: auto;
  padding-bottom: 100%;
}

答案 1 :(得分:1)

尝试调整高度/宽度并重置行高:

i {
  display: inline-block;
  background: gray;
  color: white;
  border-radius: 50%;
  padding: 0.3em; /* adjust padding */
  line-height: initial !important; /* reset line-height */
  height: 1em;
  width: 1em;
  text-align:center;
}
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" />
<i class="fa fa-close"></i>
<br>
<i class="fa fa-camera-retro fa-lg"></i> fa-lg
<i class="fa fa-camera-retro fa-2x"></i> fa-2x
<i class="fa fa-close fa-3x"></i> fa-3x
<i class="fa fa-info fa-4x"></i> fa-4x
<i class="fa fa-camera-retro fa-5x"></i> fa-5x

[编辑]图标大小不等于高度/宽度。 所以我更改了答案并添加了height: 1em; width: 1em; text-align: center;

答案 2 :(得分:0)

请使用:

<i class="fa fa-times-circle"></i>

或者如果你想要,你也可以试试这个:

i.custom {
  display: inline-block;
  background: gray;
  color: white;
  border-radius: 50%;
}
i.custom:before,
i.custom:after {
  display: inline-block;
  vertical-align: middle;
  height: 40px;
  width: 40px;
  line-height: 40px;
  text-align: center;
}
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" />
<i class="custom fa fa-close"></i>
<i class="fa fa-times-circle"></i>

答案 3 :(得分:0)

只是玩填充它可能会帮助你..

i {
display: inline-block;
background: gray;
color: white;
border-radius: 100%;
padding: 5px 7px;
}