Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hover depends on font-size in Chrome

What I'm trying...

I'm trying to make a menu with a hover effect. If you hover a link, it's background-color should change. If you go to the next one, it should change smoothly to the next link.


Problem

When you hover over one link and then go to the next one, there is a small gap between the elements. If your mouse is at that exact spot, nothing happens.


Working Example

.menu-item {    list-style: none;    float: left;    text-transform: uppercase;    font-size: 21px;    line-height: 30px;  }    a {    padding: 20px;  }    a:hover {    background-color: green;  }
<div id="menu">    <ul class="menu-list">      <li class="menu-item"><a href='#'>Menü #1</a></li>      <li class="menu-item"><a href='#'>Menü #2</a></li>      <li class="menu-item"><a href='#'>Menü #3</a></li>    </ul>  </div>

Not Working Example

.menu-item {    list-style: none;    float: left;    text-transform: uppercase;    font-size: 20px;    line-height: 30px;  }    a {    padding: 20px;  }    a:hover {    background-color: green;  }
<div id="menu">    <ul class="menu-list">      <li class="menu-item"><a href='#'>Menü #1</a></li>      <li class="menu-item"><a href='#'>Menü #2</a></li>      <li class="menu-item"><a href='#'>Menü #3</a></li>    </ul>  </div>

My observation

If you change the font-size just by one pixel, it works. If I use IE it works in both examples, but in Chrome only the Working One works :D


What I'm asking for...

Is this a Chrome bug or is there a possibility to make the 'not working one' work.

like image 605
Janick Fischer Avatar asked Apr 10 '17 14:04

Janick Fischer


People also ask

How do I automatically adjust font size in HTML?

Syntax: font-size-adjust: number|none|initial|inherit; Below are the examples that illustrates the use of font-size-adjust property.

How do I change font size in Chrome tabs?

In the 'Fonts and Encoding' window, click and drag or 'Tab' to select the scroll bar under 'Standard font', 'Fixed-width font' or 'Minimum font size', and using the arrow keys you can increase or decrease the font size.

Why is Google Chrome font so big?

Click the Customize and control Google Chrome  icon in the upper-right corner of the browser window. Near the top of the drop-down menu that appears, you can use the + (plus) or - (minus) in the Zoom section of the menu to increase or decrease the font size. Chrome's default zoom setting is 100%.


1 Answers

It's actually an interesting question. The "issue" is caused by the browser CSS that is reading the display:inline; of the a tag, and not having it fill the entire display:block; of the li tag.

You can fix this by using the following CSS rule

.menu-item a {     display:block; } 
like image 147
Frits Avatar answered Oct 08 '22 23:10

Frits