私はちょうど絵に関連してテキストを縦に整列させ、すべての内容をブロックの代わりにインラインにします。私はそれを達成するために固定位置とマージントップを使用してきましたが、それは非常に悪い方法です、私は良い方法があると思います。テキストを真ん中に縦に整列させ、divsを隣り合わせに配置します
jsFiddleがダウンしているので、ここに私のコードと類似のサイトがあります。
私はちょうど絵に関連してテキストを縦に整列させ、すべての内容をブロックの代わりにインラインにします。私はそれを達成するために固定位置とマージントップを使用してきましたが、それは非常に悪い方法です、私は良い方法があると思います。テキストを真ん中に縦に整列させ、divsを隣り合わせに配置します
jsFiddleがダウンしているので、ここに私のコードと類似のサイトがあります。
セット子のdivは、細胞として表示します。次に、垂直方向のアライメント属性を使用します。ところで
.user-container div { display: table-cell; padding: 5px; vertical-align: middle; }
クールなサイト。私はそれがあなたが行くようにCSSの変更を示すことが好きです。
以下を試してください。これは、同じライン上で一緒に画像と名前が(もちろん、調整することができます)、その下に表示されてログアウトして垂直方向に中央揃えています:
.image {
float:left;
line-height: 30px;
}
.name {
float: left;
line-height: 30px;
}
.logout {
clear: both;
}
これは、私の知る限りとして、あなたが欲しいものを行う必要があります伝えることができます。 div内のすべてをラップしない限り、画像とテキスト/リンクはインラインのままです。
<div class="user-container">
<img src="http://www.gravatar.com/avatar/ec39c767ba245c2434ad2c31a3c481e5?s=128&d=identicon&r=PG" width="33" height="33"/>
<a href="#">John Doe</a>
<a href="#">Logout</a>
</div>
だから、あなただけの「垂直整列を:真ん中」を追加する必要があります。このCSSを使用することで、あなたの元のHTMLを使用して、
.user-container img {
vertical-align: middle
}
別のオプション:
自分のイメージスタイルに、のような.user-container div {
display: inline;
}
.image img {
vertical-align: middle;
}
私はちょうどこれを投稿しようとしていました。これはIMOの最善の方法です。あなたは不要なマークアップを取り除き、それはちょうど良い/ – elclanrs