フラグメント識別子が、ページのコンテンツが始まる実際のポイントにジャンプする方法が好きではありません。ボックスが画面の上部から始まるのは厄介に見えます。それはちょっと私を悩ませます。そのため、その上にname属性を持つアンカーを使用し、display: block
その下のボックスの上部にある10pxのマージンに注意を払うように設定しました。この方法を使用すると、基本的にそのコンテンツにジャンプし、コンテンツの開始とブラウザウィンドウの実際の上端の間に10pxの間隔があります。
<a name="some-text"></a>
しかし、HTML5でこれを行うことは許可されなくなったようです。ページを検証しようとすると、次のような警告が表示されます。
name属性は廃止されました。代わりに、最も近いコンテナにid属性を配置することを検討してください。
名前付きアンカーではなく空のハイパーリンクになるため、すべてのname
属性をid
属性に変更することはできません(私も試しましたが、display: block
適用されなくなりました)。
したがって、次のように、部門のグループが与えられます。
<div>Content</div>
<div>Content</div>
<div>Content</div>
<div>Content</div>
そして、それらすべての上部に10pxのマージンが適用されていると仮定して、フラグメントIDを使用して別の場所にジャンプするときに、コンテンツ間に10pxのスペースが含まれるように、IDを再適用する方法はありますか?とブラウザウィンドウの上端?
注: IDを各部門に直接適用しようとしましたが、ブラウザーはジャンプ先を決定するときに要素のマージンを無視します。