Simplemente no puedo establecer la altura y el ancho de los a
elementos de mi navegación.
#header div#snav div a{
width:150px;
height:77px;
}
#header div#snav div a:link{
width:150px;
height:77px;
}
#header div#snav div a:hover{
height:77px;
background:#eff1de;
}
¿Alguna idea de lo que estoy haciendo mal?
Los anclajes deberán ser de un tipo de visualización diferente al predeterminado para tomar una altura.
display:inline-block;
odisplay:block;
.También verifique
line-height
cuál podría ser interesante con esto.fuente
Tu problema es probablemente que los
a
elementos sondisplay: inline
por naturaleza. No puede establecer el ancho y el alto de los elementos en línea.Tendría que establecer
display: block
ela
, pero eso traerá otros problemas porque los enlaces comienzan a comportarse como elementos de bloque. La cura más común para eso es darlosfloat: left
para que se alineen uno al lado del otro de todos modos.fuente
De la definición de altura :
Un
a
elemento es, por defecto, un elemento en línea (y no se reemplaza).Debe cambiar la visualización (directamente con la propiedad de visualización o indirectamente, por ejemplo, con flotante).
fuente
Gracias a RandomUs 1r por esta observación:
Lo probé yo mismo para una barra de menú de navegación superior, de la siguiente manera:
Primero estilo el elemento "li" de la siguiente manera:
Luego, estilo el elemento "a"> de la siguiente manera:
Ahora los enlaces de navegación tienen el mismo ancho con el texto centrado en cada enlace.
fuente