Inline Elements Shifting on Bold Hover: A Comprehensive Solution
In the world of web design, creating a sleek and responsive navigation menu is a fundamental task. However, when adding a bold hover effect to inline links, we often encounter a perplexing problem—the menu items shift noticeably due to the size difference between regular and bold text. This issue has puzzled many developers, leaving them searching for effective solutions.
Fortunately, a clever technique can resolve this challenge. By pre-setting the width of the links, we can ensure that the transition to bold text on hover occurs seamlessly without any disruption to the menu's layout. This is achieved by using an invisible pseudo-element that shares the same content and hover styling as its parent link.
To illustrate the solution, let's consider the following code:
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; }
Notice the addition of the a::before pseudo-element. This element displays the same content as its parent link, but it's hidden from view using visibility: hidden. Crucially, it inherits the bold font weight of the hover state, effectively pre-setting the width of the link to its bold counterpart.
To complete the solution, we assign a unique title attribute to each link, which serves as the source for the pseudo-element's content. This ensures that the pseudo-element matches the text of its parent link, preserving the menu's original appearance.
With this technique, the bold hover effect on inline links can be achieved without any jarring shifts in menu items' position. It's a simple yet effective solution that solves a common problem faced by web developers.
The above is the detailed content of How to Prevent Inline Element Shifting on Bold Hover?. For more information, please follow other related articles on the PHP Chinese website!

A fascinating new site called The Markup just launched. Tagline: Big Tech Is Watching You. We’re Watching Big Tech. Great work from Upstatement. The

I posted about parsing an RSS feed in JavaScript the other day. I also posted about my RSS setup talking about how Feedbin is at the heart of it.

Learn how to create a custom CodePen block with a preview for Sanity Studio, inspired by Chris Coyier’s implementation for Wordpress’ Gutenberg editor.

Line, bar, and pie charts are the bread and butter of dashboards and are the basic components of any data visualization toolkit. Sure, you can use SVG

We are always looking to make the web more accessible. Color contrast is just math, so Sass can help cover edge cases that designers might have missed.

Tartan is a patterned cloth that’s typically associated with Scotland, particularly their fashionable kilts. On tartanify.com, we gathered over 5,000 tartan

Not long ago, I posted about PHP templating in just PHP (which is basically HEREDOC syntax). I'm literally using that technique for some super basic

Have you ever clicked on an image on a webpage that opens up a larger version of the image with navigation to view other photos?


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 Chinese version
Chinese version, very easy to use

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.