ホームページ > ウェブフロントエンド > CSSチュートリアル > CSS ホバー境界線が隣接する要素を移動しないようにするにはどうすればよいですか?

CSS ホバー境界線が隣接する要素を移動しないようにするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-27 17:28:14
オリジナル
431 人が閲覧しました

How Can I Prevent CSS Hover Borders from Shifting Adjacent Elements?

CSS ホバー境界線を使用して要素の位置を調整する

CSS 境界線を使用してホバー効果を作成すると、隣接する要素がわずかに移動または「ジャンプ」する場合があります。この問題は、境界線によって要素に余分な幅が追加され、境界線のない他の要素との相対的な位置が変更される場合に発生します。

解決策: 透明な境界線

この位置を解決するにはこの問題を解決するには、要素の非ホバー状態に透明な境界線を追加します。これにより、ホバー ステータスに関係なくすべての要素が同じ幅になり、予期しないシフトが防止されます。

例: 垂直アンカー メニュー

内のアンカーの垂直メニューを検討してください。順序のないリスト。次の CSS スニペットは問題を示しています:

div a:visited, #homeheader a {
    text-decoration: none;
    color: black;
    margin-right: 5px;
}

div a:hover {
    background-color: #D0DDF2;
    border-radius: 5px;
    border: 1px solid #102447;
}

div li {
    padding: 0;
    margin: 0px 10px;
    display: inline;
    font-size: 1em;
}
ログイン後にコピー

アンカーの上にマウスを置くと、追加された境界線により、左側にあるすべてのアンカーがわずかに右に移動します。

これを修正するには、透明な境界線を非ホバー状態に追加できます:

#homeheader a:visited, #homeheader a {
    border: 1px solid transparent;
}
ログイン後にコピー

この変更により、すべてのアンカーが一貫した幅を持つようになり、 「ジャンピネス」効果と適切な要素の配置の維持。

以上がCSS ホバー境界線が隣接する要素を移動しないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート