1. ホーム
  2. css

[解決済み] Font Awesomeで2つ以上のアイコンを重ねる/重ねるには?

2022-02-07 01:29:16

質問

Font Awesomeで2つ以上のアイコンを重ねる/重ねるには?

このように、2つのアイコンを重ねることができました。

<span class="fa-stack fa-lg">
  <i class="fa fa-square-o fa-stack-2x"></i>
  <i class="fa fa-twitter fa-stack-1x"></i>
</span>

http://jsfiddle.net/npLWz/ を参照してください。 http://fontawesome.io/examples/#stacked

しかし、このように3つ以上のアイコンを重ねたり、重ねたりしようとすると

<span class="fa-stack fa-3x">
  <i class="fa fa-square-o fa-stack-3x"></i>
  <i class="fa fa-square-o fa-stack-2x"></i>
  <i class="fa fa-square-o fa-stack-1x"></i>
</span>

http://jsfiddle.net/npLWz/1/

このような場合、どのように修正すればよいのでしょうか? というメッセージが表示され、3つ以上のアイコンが重なって表示されます。

解決方法を教えてください。

私も同じような問題を抱えており、いくつかのカスタムCSSを使って解決しました。

.icon-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.icon-stack-1x,
.icon-stack-2x,
.icon-stack-3x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.icon-stack-1x {
  line-height: inherit;
}
.icon-stack-2x {
  font-size: 1.5em;
}
.icon-stack-3x {
  font-size: 2em;
}

マークアップはそのため

<span class="icon-stack fa-3x">
   <i class="fa fa-{{whatever icon 3}} icon-stack-3x"></i>
   <i class="fa fa-{{whatever icon 2}} icon-stack-2x"></i>
   <i class="fa fa-{{whatever icon 1}} icon-stack-1x"></i>
</span>

fa-stackを上書きするのではなく、複製して、必要なら元のCSSを使えるようにすることにした。

もちろん、フォントサイズや行の高さなど、自分の好みに合わせて遊べばいいのですが。