次のCSSテンプレートの垂直方向の配置が空のhtmlファイルでのみ機能する理由を理解できないため、気が狂い始めます。
<head>
<style>
#mylist li {
display: inline-block;
list-style: none;
text-align: center;
height: 250px;
padding: 5px;
}
#mylist .imgcont {
height: 150px;
width: 150px;
line-height: 150px;
border: 1px solid red;
padding: 5px;
overflow: hidden;
}
#mylist img {
height:120px;
vertical-align:middle;
}
</style>
</head>
<body>
<ul id="mylist">
<li>
<div class="imgcont">
<img src="someimg.jpg" />
</div>
</li>
<li>
<div class="imgcont">
<img src="anotherimg.jpg" />
</div>
</li>
</ul>
</body>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
「空の」html では、上部にある裸の html テンプレートを意味し、 vertical-align が適用され、画像はdiv コンテナーの垂直方向の中央に配置されます- 逐語コピーを実行して、より複雑な html (ヘッダー タグのスタイル、ボディ タグの上部にある ul-list) に挿入すると、突然垂直方向の配置が無視され、イメージがコンテナーの上部に配置されます。ここで何が違いを生むのか理解できません。
スタイル「clear:both」を追加しようとしましたが、効果はありませんでした。
何か案が ?
更新 - 両方のケースのスクリーンショットを追加