我有一些词,例如 WORD 和 REALLYLONGWORD。两者都有浅色字体,我希望它们在鼠标悬停时变为粗体。两者都有float: left; width: auto;
。我不能给他们固定的宽度。
问题是当我将 WORD 悬停时,REALLYLONGWORD 会跳到右边,因为 WORD 字体变得更粗(和更大的宽度值)。是否有任何仅限 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 字体的隐藏容器(它的宽度是主宽度)并将 LIGHT 字体放入其中。悬停后它仍然有粗体字的宽度,所以没有跳跃。