Html 以1:1的比例在圆形边框中创建令人敬畏的字体图标

Html 以1:1的比例在圆形边框中创建令人敬畏的字体图标,html,css,border,font-awesome,Html,Css,Border,Font Awesome,在某些情况下,如果图标的比例不是1:1,则边框不再是圆 下面是一个例子: 我目前正在使用: 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:

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

下面是一个例子:

我目前正在使用:

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
HTML:
.社交
a(href='#')
a(href='#')
a(href='#')
SASS:
边界半径:50%
边框:纯白
填充:10px

我可以用CSS来解决这个问题吗

以百分比表示的边界半径,以宽度和高度差异的百分比计算。试着用50px进行测试

div{
边缘:.3em;
显示器:flex;
对齐项目:居中;
证明内容:中心;
字号:2em;
颜色:白色;
}
.pc{
宽度:200px;
高度:80px;
背景颜色:蓝色;
边界半径:50%;
}
.px{
宽度:200px;
高度:80px;
背景颜色:蓝色;
边界半径:50px;
}
%

px
设置固定的
宽度
高度
,并使用
文本对齐:居中

i{
边界半径:50%;
边框:纯黑;
填充:10px;
宽度:16px;
高度:16px;
文本对齐:居中
}

要实现这一点,同时保持图标的纵横比,您需要以1:1的比例(与高度相同的宽度)为图标分配一个容器

i.fa-facebook{
填充:10px;
颜色:白色;
}
.边界{
边界半径:50%;
边框:纯白;
}
a、 图标容器{
宽度:40px;
高度:40px;
边界半径:50%;
边框:纯白;
文本对齐:居中;
浮动:左;
}
身体{
背景:黑色;
}

您需要设置宽度、高度、行高和文本对齐以使图标居中。 图标还需要垂直对齐重置为中间

避免使用像素填充,但在em或rem中使用宽度/高度/行高。然后,您可以更改字体大小并保持该比率,而无需更新其他值

a/*或选择器a.fa*/
{  
字号:3em;
边界半径:50%;
边框:纯白;
颜色:白色;
线高:2米;
宽度:2米;
高度:2米;
文本对齐:居中;
显示:内联块;
过渡:0.5s;
}
/*演示目的*/
a:悬停{font size:2em}
法兰西{
/*可选垂直对齐:中间对齐*/
}
身体{
背景:#333
}


这里是1:1比例和
fa
缩放的响应式尺码:-这是您试图实现的吗?非常感谢,@AndreyFedorov。谢谢你的回答和宝贵的时间。非常感谢。