首頁 >web前端 >css教學 >加粗時如何防止內嵌元素在懸停時水平移動?

加粗時如何防止內嵌元素在懸停時水平移動?

Barbara Streisand
Barbara Streisand原創
2025-01-04 04:33:41275瀏覽

How to Prevent Inline Element Horizontal Shift on Hover When Bolding?

解決懸停時內聯元素變粗後偏移問題

利用HTML 清單和CSS 建立水平選單時,使用者可能會遇到一個難題:將連結設為懸浮時加粗變粗時,選單連結會因粗細差異而偏移。

為了解決這個問題,我們可以採取以下解決方案:

預先設定寬度

使用一個不可見的偽元素,該元素具有與父懸停樣式相同的內容和样式。使用資料屬性(如 title)作為內容的來源。

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:冬至網站下一篇:冬至網站