Html 将包含svg的li与其他包含字体图标的li对齐
FontAwesome缺少一个图标,因此我不得不退回到使用svgHtml 将包含svg的li与其他包含字体图标的li对齐,html,css,svg,sass,Html,Css,Svg,Sass,FontAwesome缺少一个图标,因此我不得不退回到使用svg 因为li是内联项,所以将它们垂直居中,并将a作为块元素,因为高度-宽度对内联元素不起作用 .icons { >li { display: inline-block; padding: 0; vertical-align:middle; /*** added this ***/ >a, svg { height: 50px
- 因为
li
是内联项,所以将它们垂直居中,并将a
作为块元素,因为高度-宽度对内联元素不起作用
.icons {
>li {
display: inline-block;
padding: 0;
vertical-align:middle; /*** added this ***/
>a, svg {
height: 50px;
width: 50px;
line-height: 50px;
font-size: 1.8em;
text-align: center;
border-radius: 50%;
color: rgba(255, 255, 255, 0.8);
box-shadow: 0 0px 2px rgba(255, 255, 255, 0.56);
display:block; /*** added this ***/
}
.fab {
background-color: black;
}
}
}
编辑:在@TemaniAfif注释之后
虽然上述解决方案也有效,但我同意Temani afif的观点,即我们可以将垂直对齐:top
赋予svg
,因为它也是一个内联元素,可以从中删除显示块
.icons {
>li {
display: inline-block;
padding: 0;
vertical-align:middle;
>a, svg {
height: 50px;
width: 50px;
line-height: 50px;
font-size: 1.8em;
text-align: center;
border-radius: 50%;
color: rgba(255, 255, 255, 0.8);
box-shadow: 0 0px 2px rgba(255, 255, 255, 0.56);
svg{
vertical-align:top;
}
}
.fab {
background-color: black;
}
}
}
您只需使用display:flex
到ul.图标
ul.icons.other{display:flex;}
哇,我不知道垂直对齐是件好事!谢谢现在你知道了秘密;p不需要display:block,因为font awesome已经添加了内联块,但是里面的SVG可能也需要垂直对齐:top
,以避免额外的空白below@TemaniAfif更新。
.icons {
>li {
display: inline-block;
padding: 0;
vertical-align:middle;
>a, svg {
height: 50px;
width: 50px;
line-height: 50px;
font-size: 1.8em;
text-align: center;
border-radius: 50%;
color: rgba(255, 255, 255, 0.8);
box-shadow: 0 0px 2px rgba(255, 255, 255, 0.56);
svg{
vertical-align:top;
}
}
.fab {
background-color: black;
}
}
}