リンク付きの画像を作成していると思います。これは、箱から出して考える別のソリューションです。リンクの文言を画像デザイン自体に組み込み、画像マップを使用して、画像のどの部分をクリック可能なリンクとして扱うかをブラウザに伝えます。次に、リンクの位置は実際には画像自体の一部であり、これらのリンクを適切に動作させるために CSS をいじることをスキップできます。
まず、画像タグがあります。'#mapname' である必要がある usemap 属性を使用します。このコードでは、マップの名前は「home」なので、usemap 属性は「#home」です。
<nav>
<img class="navbar" src="./images/navbar.gif" usemap="#home" alt="Home, Auto Service, Hours & Location, Contact Info, Image Gallery" />
次に、マップをピクセル ペアで書き出します。ここの私のページでは、ボタンの画像を 5 回配置するのではなく、ボタンの長い画像を 1 つ配置しています。ボタンの 5 つのコピーで 1 つの画像を作成しました。各エリア タグは、画像の 1 つの長方形 (shape="rect") セグメントをカバーしています。ここの最初のものでは、画像の左上隅「0,0... (x,y)」から始めています。長方形の右下隅は右に 186 ピクセル、そこから 40 ピクセル下にあります。最初のポイントなので、...186, 40" です
<map name="home">
<area shape="rect" coords=" 0, 0, 186, 40" href="index.html" alt="Mortensen Motors Homepage" />
<area shape="rect" coords=" 186, 0, 372, 40" href="auto_service.html" alt="Tullahoma Auto Service" />
<area shape="rect" coords=" 372, 0, 558, 40" href="hours_and_location.html" alt="Located in Tullahoma, Tennessee" />
<area shape="rect" coords=" 588, 0, 744, 40" href="contact_info.html" alt="Contact info" />
<area shape="rect" coords=" 744, 0, 930, 40" href="image_gallery.html" alt="Mortensen Motors image gallery" />
</map>
</nav>
というわけで、1枚の画像を使って、5つのリンクを作りました。coords="" 属性は、実際の表示サイズではなく、画像ファイルによる画像のピクセルに基づいているため、これはあなたがしていることに最適です。したがって、ズームに基づいてイメージ カバレッジの意図した領域から逸脱することはありません。