tools tool other network google f12 extension devtool developer chrome html css google-chrome

html - tool - inspector google chrome



Hover depende del tamaƱo de fuente en Chrome (3)

Agregar display: block a los enlaces. El enlace es más pequeño que el li

Lo que estoy tratando ...

Estoy tratando de hacer un menú con un efecto de desplazamiento. Si pasas el cursor sobre un enlace, su color de fondo debería cambiar. Si pasas a la siguiente, debería cambiar sin problemas al siguiente enlace.

Problema

Cuando se desplaza sobre un enlace y luego se pasa al siguiente, hay un pequeño espacio entre los elementos. Si su ratón está en el lugar exacto, no pasa nada.

Ejemplo de trabajo

.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>

Ejemplo que no funciona

.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>

Mi observación

Si cambias el font-size solo por un píxel, funciona. Si uso IE, funciona en ambos ejemplos, pero en Chrome solo funciona: D

Lo que estoy pidiendo ...

¿Es esto un error de Chrome o existe la posibilidad de que funcione el "no funciona"?


Elimine el tamaño de fuente y el alto de línea del elemento de menú, aplique estilo al vínculo directamente. Este comportamiento muy probablemente proviene de errores de redondeo.


En realidad es una pregunta interesante. El "problema" es causado por el navegador CSS que está leyendo la display:inline; de la etiqueta a, y al no tener que llenar toda la display:block; de la etiqueta li

Puede solucionar esto usando la siguiente regla CSS

.menu-item a { display:block; }