次の問題を解決しようとしています。家の設計図の画像の上に、「ラベル」を付ける必要があります。したがって、キッチンの上には「KITCHEN」というラベルが必要です。バスルーム、「BATHROOM」など。また、ブラウザー ウィンドウのサイズが変更された場合でも、ラベルは対応する部屋の上に残る必要があります。HTML/CSS/JS のみを使用することを保証するにはどうすればよいですか?
ここに私のHTMLがあります:
<html>
<head>
<link href="overlay.css" rel="stylesheet" type="text/css" />
</head>
<div class="image">
<img src="blueprint.png" alt="" />
<span>LABEL</span>
</div>
</html>
キッチンの位置が上 10%、左 40% であると仮定すると、次のoverlay.css
ようになります。
img {
max-width:100%;
max-height:100%;
}
.image {
position: relative;
width: 100%; /* for IE 6 */
overflow: hidden;
}
span {
position: absolute;
top: 10%;
left: 40%;
color: white;
font: bold 24px/45px Helvetica, Sans-Serif;
letter-spacing: -1px;
background: rgb(0, 0, 0); /* fallback color */
background: rgba(0, 0, 0, 0.7);
}
それはある程度機能しますが、ウィンドウのサイズを変更すると、すべてが適切に配置されず、バランスが崩れます。