divを 'a'タグで囲むことで奇妙な結果が得られ、内部で子のサイズではなく 'a'タグをできるだけ広くする必要があると感じます。 HTML5と関係があります。<a> div内のハイパーリンクは大/ワイドになります
Edgeは私が探している結果を多かれ少なかれ与えますが、何らかの理由でChromeで 'a'タグはページの全幅です。
また、 'a'タグ内にdiv 'margin'を含めることもできます。だから私は 'onclick'メソッドを使用することはできません。これはjavascriptなしで達成できますか? JSFiddle。
<a href="http://example.com" style="background-color: #CCC;">
<div style="width: 100px; height: 100px; background-color: #C00; margin: 0px 8px 8px 0px; display:block;"><h2>text</h2></div>
</a>
<a href="http://example.com" style="background-color: #CCC;">
<div style="width: 100px; height: 100px; background-color: #C00; margin: 0px 8px 8px 0px;"><h2>text</h2></div>
</a>
<a href="http://example.com" style="background-color: #CCC;">
<div style="width: 100px; height: 100px; background-color: #C00; margin: 0px 8px 8px 0px; display:inline-block;"><h2>text</h2></div>
</a>
<a href="http://example.com" style="background-color: #CCC; display: block;">
<div style="width: 100px; height: 100px; background-color: #C00; margin: 0px 8px 8px 0px;"><h2>text</h2></div>
</a>
タグは幅を気にしません。子要素、つまりdivはデフォルトでshow display:blockになります。だから、divのいくつかは全幅です(そして、あなたはそれらと一緒に動きます)。 a要素に 'display:inline-block; 'を付けることができます。タグに余白を付けて達成したいことを完全には理解していません。 –
ありがとう@ThijsBouwesあなたがコメントしている、それはdiv間の空白のギャップがないようです。あなたがdivをクリックするのを忘れた場合でも、それはあなたをリンクに連れて行きます。そのような大きな取引ではないが、私はそれが奇妙であることがわかった、それは私が子のサイズを見つけるためにすべての 'a'タグをjavascriptする必要がある場合、ページを遅くする。 – 807