開始前:
別の質問と重複しないようにしてください。私はちょうどその正確なケースを見つけることなく、Stackoverflowでここで検索しました。CSS - 絶対配置された段落のテキストを垂直に整列する
最も近いのはthis questionです。それでも、そこに与えられた返事は私のためには本当にうまくいかない、私は段落がposition: absolute;
に設定されていると信じている。
<ul>
<li><img src="http://www.placehold.it/300x200" /><p><span>Lorem Ipsum</span></p></li>
</ul>
とCSS:
li {
position: relative;
float: left;
overflow: hidden;
}
img {
width: 100%;
vertical-align: middle;
}
p {
background-color: rgba(255, 0, 0, .3);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
span {
background-color: rgba(0, 255, 0, .3);
vertical-align: middle;
}
フィドル:http://jsfiddle.net/DpVjZ/
vertical-align: middle;
だけでほんの少し離れトップからテキストをバンプではなく、実際にHTMLザッツ
真ん中。
スパンの高さが動的コンテンツであるとは知られていないため、スパンをposition: absolute;
に設定してからtop: 50%;
、次にmargin-top: -x%;
を適用すると機能しません。
リンクされた質問にはこれは悪い習慣であると書かれていますが、私はdisplay: table-cell
のアプローチを試みましたが、何の結果もありませんでした。私を助けてください。
あなたがリスト項目内のブロックレベル要素を持っていないのはなぜ?それがあなたが問題を抱えている理由だとは思わない? –
私が知る限り、ブロックレベル要素を含むことができない唯一のリスト要素は 'dt 'です。 – Sven
もちろん、リスト項目を 'display:block;'に設定することもできます。私はあなたが望遠鏡の間違ったところからこの問題に近づいていると思います。あなたは何を達成しようとしていますか?視覚的に、どうなっているのでしょうか?テキストはイメージの上にあるはずですか? –