2017-08-31 57 views
0

私は自分のサイトにアイコンを作成するのに素晴らしいフォントを使用しています。FontAwesome |アイコン同士を縦に並べる方法は?

問題は、アイコンの実際のアイコンの内容よりも大きいアイコンがあるため、その余分な高さのためにベースライン上に並んでいないことです。

すべてのアイコンをベースライン上で一番下に並べるようにします。文字がどのようにボトムアライメントされるように。これが機能するためには、アイコンは内容と同じくらいの大きさでなければなりません。

実際のところ、.fa divの内側は、それよりも背が高いはずです。ここに3つの異なる.faアイコンを示す想像があります。それらのうちの1つは、それよりも背が高い。

Chromeからコンテンツをクリッピングする前に、コンテンツボックスが青色で強調表示されています。

アイコンの下部に何らかの理由で余分なスペースがあることにお気づきでしょう。それは実際のものです:強調表示される前。アイコンがきれいにベースラインに座るように私は、このスペースを取り除くことができますどのように

IMAGE EXAMPLE

?私は、高さがあることになっているものを制御することができるように、基本的に私が行っていることは、親コンテナ内の問題のアイコンをラップされhttps://codepen.io/vtsells/pen/oeJKNz

+0

それは下部に整列する必要がありますか?アイコンの下の境界ボックスの空白を考慮して、多少の操作や手動のオフセットを行わない限り、その特定のアイコンを使ってそのことを行うことはできません。 –

+0

@TylerSellsこれはボタンです。彼らは、互いに縦に並んでいないように見えません。 –

+0

私は、問題のスペーシングがアイコンの下にあるので、ボトムではなく親コンテナの上部に簡単にアライメントすることができたことを意味しました。しかし、あなたの例を見ると、彼らはすでにトップに揃っているようです。考えがある。私はいくつかのテストをしてみましょう、あなたと一緒に戻ってきます –

答えて

0

このcodepen例を参照してください。この方法でアイコンの高さを制御できるので、境界ボックスがどこに配置されているかを制御できます。アラインメントはこの例ではフレックスボックスを介して行われます。 display:flex; align-items:flex-end //flex-start to align to the top, center to align to the vertical center

HTML:

<div id="container"> 
    <i class="fa fa-trash-o fa-2x"></i> 
    <i class="fa fa-clock-o fa-2x"></i> 
    <div id="wrapper"> 
    <i class="fa fa-check-square-o fa-2x"></i> 
    </div> 
</div> 

CSS:

#container{ 
    background:#888; 
    display:flex; 
    align-items:flex-end; 
    padding:10px; 
} 
#wrapper{ 
    background:#ccc; 
    overflow:hidden; 
    height:29px; 
    width:30px; 
} 
i{ 
    background:#ccc; 
} 
+0

まず、アイコンを一番下に並べます。そこで、コードをalign-items:flex-endに変更しました。しかしながら、これは同じ問題を依然として提示する。 –

+0

すべてがボトムアライメントであっても、右側の最後のアイコンにはボトムに余分なスペースがあり、アライメントが維持されません。 –

+0

あなたは何が起こっているのショットを投稿できますか?あなたが提案した通りに整列させると、すべてが一番下に整列します –

関連する問題