WORD や REALLYLONGWORD などの単語があります。どちらもフォントが薄いので、マウスオーバーで太字にしたいです。両方がありfloat: left; width: auto;
ます。それらに固定幅を与えることはできません。
問題は、WORD をホバーすると、WORD のフォントが太くなる (そして幅の値が大きくなる) ため、REALLYLONGWORD が右にジャンプすることです。それに対するCSSのみの回避策はありますか?
編集(私は自分の質問に答えることができないので、以下に回答を投稿しています):CSSのみの解決策を見つけました。HTML:
<div class="thtitled-thtitle"><div class="thtitles-title">WORD</div><div class="thtitles-titlebold">WORD</div></div>
<div class="thtitled-thtitle"><div class="thtitles-title">REALLYLONGWORD</div><div class="thtitles-titlebold">REALLYLONGWORD</div></div>
CSS:
.thtitled-thtitle { float: left; }
.thtitles-titlebold { visibility: hidden; color: #F5F5F5; cursor: pointer; float: left; font-family: 'BOLDFONT',Arial,sans-serif; font-size: 72px; line-height: 96px; min-height: 100px; text-transform: uppercase; width: auto; word-wrap: break-word; }
.thtitles-title { color: #F5F5F5; cursor: pointer; font-family: 'LIGHTFONT',Arial,sans-serif; font-size: 72px; line-height: 96px; min-height: 100px; text-transform: uppercase; width: auto; word-wrap: break-word; position: absolute; }
.thtitles-title:hover { font-family: 'BOLDFONT',Arial,sans-serif; }
基本的に、BOLD フォントの隠しコンテナをもう 1 つ作成し (その幅はメインの幅)、その中に LIGHT フォントを配置します。ホバー後も BOLD ワードの幅があるため、ジャンプはありません。