ホームページ >ウェブフロントエンド >CSSチュートリアル >太字時のホバー時のインライン要素の水平方向のシフトを防ぐ方法は?
ホバー時にインライン要素が太くなった後のオフセットの問題を解決します
HTML リストと CSS を使用して水平メニューを作成する場合、ユーザーはリンクを太く設定すると、サスペンド時にメニュー リンクがオフセットしてしまいます。
この問題を解決するには、次の解決策を採用できます:
幅を事前設定
同じ内容とスタイルを持つ非表示の疑似要素を使用する親ホバースタイルとして。データ属性 (タイトルなど) をコンテンツのソースとして使用します。
li { display: inline-block; font-size: 0; } li a { display: inline-block; text-align: center; font: normal 16px Arial; text-transform: uppercase; } a:hover { font-weight: bold; } /* SOLUTION */ /* The pseudo element has the same content and hover style, so it pre-sets the width of the element and visibility: hidden hides the pseudo element from actual view. */ a::before { display: block; content: attr(title); font-weight: bold; height: 0; overflow: hidden; visibility: hidden; }
<ul> <li><a href="#" title="height">height</a></li> <li><a href="#" title="icon">icon</a></li> <li><a href="#" title="left">left</a></li> <li><a href="#" title="letter-spacing">letter-spacing</a></li> <li><a href="#" title="line-height">line-height</a></li> </ul>
以上が太字時のホバー時のインライン要素の水平方向のシフトを防ぐ方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。