以正确的1:1比例制作圆形边框中的字体真棒图标

时间:2017-01-08 12:53:58

标签: html css css3 border font-awesome

在某些情况下,如果图标的比例不是1:1,则边框不再是圆圈。

以下是一个例子:

enter image description here

我目前正在使用:

HTML:

.socials
      a(href='#') <i class="fa fa-facebook"></i>
      a(href='#') <i class="fa fa-twitter"></i>
      a(href='#') <i class="fa fa-google"></i>

SASS:

      border-radius: 50%
      border: solid white
      padding: 10px

无论如何,我可以使用CSS来解决问题吗?

4 个答案:

答案 0 :(得分:3)

设置固定的widthheight,然后使用text-align:center

i {
  border-radius: 50%;
  border: solid black;
  padding: 10px;
  width:16px;
  height: 16px;
  text-align:center
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<i class="fa fa-facebook"></i>
<i class="fa fa-twitter"></i>
<i class="fa fa-google"></i>

答案 1 :(得分:2)

你需要设置宽度,高度,线高和&amp; text-align以使icone居中。 icone还需要垂直对齐重置到中间。

避免以像素为单位填充,但在em或rem中使用width / height / line-height。然后,您可以更改字体大小并保持比率而不更新其他值。

var controls = new THREEa.OrbitControls(pCamera, pContainer);
a /* or selector a .fa */
  {  
  font-size:3em;
  border-radius: 50%;
  border: solid white;
  color: white;
  line-height: 2em;
  width: 2em;
  height: 2em;
  text-align: center;
  display: inline-block;
    transition:0.5s;
}
/* demo purpose */
a:hover {font-size:2em}
.fa {
/* optionnal vertical-align: middle;*/
}
body {
  background: #333
}

答案 2 :(得分:1)

border-radius以百分比形式计算为宽度和高度的百分比不同。尝试50px考试。

&#13;
&#13;
div {
  margin: .3em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2em;
  color: white;
}
.pc {
  width: 200px;
  height: 80px;
  background-color: blue;
  border-radius: 50%;
}
.px {
  width: 200px;
  height: 80px;
  background-color: blue;
  border-radius: 50px;
}
&#13;
<div class="pc">%</div>
<div class="px">px</div>
&#13;
&#13;
&#13;

答案 3 :(得分:1)

要在保持图标宽高比的同时实现它,您需要为图标指定一个容器,其比例为1:1(宽度与高度相同)。

i.fa-facebook {
  padding: 10px;
  color: white;
}

.border {
  border-radius: 50%;
  border: solid white;
}

a.icon_container {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: solid white;
  text-align: center;
  float: left;
}

body {
  background: black;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<i class="fa fa-facebook border"></i>
<a href="#" class="icon_container border"><i class="fa fa-facebook"></i></a>