2016-07-21 3 views
0

私の目標は、font-awesomeアイコンをdivの横に並べることです。何らかの理由で、フォントのすばらしいアイコンが、小さなフォントサイズのアイコンの上に余白を持つように見えます。これは、ラッパーdivを展開します。たとえば、pタグでは同じことは起こりません。例は、ここで見つけることができます:なぜフォントか小さいフォントサイズを使用すると、驚くべきアイコンの上に奇妙な「余白」がありますか?

https://jsfiddle.net/jaakkokarhu/Luw8dsa8/2/

いくつかのポイント:

  • マージンは、アイコン要素のいずれかの余裕はないですか。pseudoelement
  • 前に、それは親要素のパディングではありません
  • アイコンは、フォントサイズが15pxになるまで同じ量を親に展開します。

それに応じて、すばらしいアイコンが動作する原因は何ですか?アイコンとラッパーを設定して、アイコンの上に「余白」がないようにするにはどうすればよいですか?

// This text is just for removing the ridiculous "links to JS fiddle needs to be accompanied by code" warning. Ignore this. 
+0

私はまだトップにギャップを引き起こしているかわからないんだけど、あなたは '垂直整列追加centerbyためにそれらすべてを設定することができます。あなたの' [クラス^ =」にmiddle'をアイコン "] {..}'。試してみる。 – Abbr

+1

ああ!そのギャップは 'インラインブロック 'のためです。あなたが 'wrapper'を' font-size:0'に設定しているとします。再び正常になるでしょう。インラインブロックを使用するときに発生する問題は、HTMLの空白が画面上のビジュアルスペースになることです。 – Abbr

答えて

2

インラインブロックは、ブラウザ内のアイコンが表示されているフォントサイズを表します。それはいくつか正しく、ゴーストスペースに入る小さなアイコンのためにこれを行います。これは、CSSの宣言に "インライン"があり、完全性を保つためにHTMLに改行スペースを追加しないと目立つようになります。

これは、font-awesomeクラスのインラインブロックを削除するための修正です。 またはfont-size:0を追加してください。あなたのラッパークラスで。

.wrapper {font-size: 0}

https://jsfiddle.net/Luw8dsa8/3/

0

原因はわかりませんが、[class^="icon"] { display: inline-block; }です。

1

[class^= "icon"] {display:inline-block; }。 pタグと同じように動作します。

+0

偉大な答え、多くのありがとう! –

関連する問題