ダッシュボードがあります。スプライトアイコンを含むラッパーブロックが設定されています。スプライトアイコンは親の内側に縦と横の中央に配置する必要があります。Flexboxはインラインブロックスパンを垂直方向にセンタリングしていません
フレックスボックスの使い方をどのようにしたいのか、どのように配置するのかブロックを決めました。
私もアイコンがtext-align
プロパティを使用して水平に集中しているが、私は.view
または.sprite-icon
要素に追加したときに、何らかの理由justify-content: center
ために何もしません。それを.views
要素に追加すると、必要なものが中央に配置されず、.view
ブロック間のパディングが壊れます。
は、私がここでの問題を示す設定私のJSFiddleを参照してください:https://jsfiddle.net/efarley/k0m4nxny/
.views {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-around;
}
.view {
height: 105px;
text-align: center;
width: 105px;
}
.sprite-icon {
background-image: url('http://67.media.tumblr.com/b2336d673e315081b6d657f8258c313d/tumblr_mv98xzSiJu1qhori9o1_500.jpg');
display: inline-block;
height: 35px;
width: 35px;
}
.sprite-icon.one {
background-position: 0 0;
}
.sprite-icon.two {
background-position: 0 35px;
}
.sprite-icon.three {
background-position: 0 70px;
}
<div class='views'>
<div class='view'>
<span class='sprite-icon one'></span>
</div>
<div class='view'>
<span class='sprite-icon two'></span>
</div>
<div class='view'>
<span class='sprite-icon three'></span>
</div>
</div>
私は心が柔軟で、ハード時間をかけて設計変更包みコード化されていないので、このためにフレキシボックスを使用しようとしている:私は
text-align: center
フィドル.view
で消去しました。 – efarleyflexboxはフレックスコンテナの直接の子要素、つまり '.view'にのみ影響し、ブロック要素のみに影響するので、' span'要素で何もしません。ビュー要素を均等に分配します。スプライトアイコンを中心に – Johannes