始める前に:
別の質問の重複としてこれを閉じないでください。ここで Stackoverflow を検索したところ、その正確なケースが見つかりませんでした。
最も近いのは、私はこの質問を信じています。それでも、そこで与えられた返信は、私にとってはうまくいきません。段落が設定されているためだと思いますposition: absolute;
。
それはHTMLです:
<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;
テキストを上から少しだけ突き出しますが、実際には真ん中ではありません。動的コンテンツであるため、スパンの高さがわからないため
、スパンを設定してposition: absolute;
から適用top: 50%;
してから機能しません。
リンクされた質問には、これは悪い習慣であると記載されていますが、私もこのアプローチを試してみましたが、結果はありませんでした。私を助けてください。margin-top: -x%;
display: table-cell