解決懸停時內聯元素變粗後偏移問題
利用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中文網其他相關文章!