数字と2つのテキスト領域を連続して表示したい。子が親の全高と垂直方向の中央のテキストにする
数字は「ボックス」内にある必要があります。バックグラウンドは行の高さで、その数字は「ボックス」内で縦と横の中央に表示されます。
私はでposition: absolute; top: 0, left: 0
のようなことをすることができると知っていますが、これはドキュメントの流れからそれを引き出します。テキストは、実際の番号が中央に配置されません。
* {
box-sizing: border-box;
}
.container {
width: 40%;
}
.number {
background: skyblue;
/*position: absolute;*/
top: 0;
bottom: 0;
vertical-align: middle;
}
.row > div {
display: inline-block;
vertical-align: top;
}
.row {
background: lightgreen;
position: relative;
}
<div class="container">
<div class="row">
<div class="number">10</div>
<div class="textArea">
<div class="companyName">Top title</div>
<div class="industry">secondary text</div>
</div>
</div>
</div>
EDIT 1:あなたはボックスは、コンテナの完全な高さではないことをスニペットで見ることができます。それは私が望むものではありません。
EDIT 2:グラデーションを使ってカンニングすることができますが、テキスト領域が数字ボックスの終点と一致するようにしなければなりません。 。
はうまく見えましたが、 'textArea'に余白を残しておきたい場合は動作しませんので、http://stackoverflow.com/questions/16398823/why-is-a-div-with-display-table-セルに影響されないマージンを設定し、行の周りにパディング効果を置きます。これは望ましくありません。どのようにマージンをつけますか? –
@jackblank 3つの "マージン"の選択肢を含む私の答えを更新しました。 "padding-left"が含まれています。 – LGSon
@jackblank簡単な機能の検出を使用して漸進的な拡張を得る方法を示すために私の答えを更新しました – LGSon