アンカー タグとイメージ タグに問題があります。私の画像タグは(本質的に)それぞれ div タグ内にあり、div タグには一定の高さと幅の値があります。画像タグには一定の高さの値が与えられるため、幅は縦横比に基づいて計算でき、画像が div 内に収まるようにサイズ変更されても画像が歪むことはありません。
2 つの理由から、各画像をアンカー タグで囲みたいと思います。(1.) 画像はリンクとして機能するだけでなく、(2.) ユーザーが画像にカーソルを合わせたときに、画像の上にオーバーレイを表示できるようにします。
イメージタグをアンカータグの中に入れることでリンクの問題は解決しますが、2 つ目の問題については困惑しています。アンカー タグを動的にサイズ変更して、それぞれのイメージ タグ上に配置する必要があります。理想的には、問題を解決するために JavaScript を使用することは避け、CSS だけに固執したいと思います (可能であれば)。必要に応じて、マークアップを少し追加することに異論はありません。
関連する HTML:
<listitem>
<a href="#"><img src="../images/image1.jpg"/></a>
</listitem>
<!--More listitems with different sized images go here-->
そしてCSS:
#pictureListContainer listitem {
position: relative;
background-color: rgba(0,0,0,0.5);
display: block;
height: 257px;
width: 636px;
}
#pictureListContainer listitem img {
position: relative;
float: right;
height: 203px !important;
vertical-align: middle;
margin: 21px 296px 21px auto;
border: 6px solid white;
border-radius: 6px;
box-shadow: 0px 0px 3px rgba(0,0,0,0.7);
}
前もって感謝します。
更新: オーバーレイを画像と同じサイズにして、画像のみをオーバーレイするようにしたいことを明確にする必要があります。