Tienes una solución a este problema de IE.

Añade un width: 100%; a la regla del "anchor"

#opciones li a
{
        display: block;
        
        width: 100%;

        color: #000000;
}


este width SOLO tiene que verlo el Iexplorer ya que los otros se pueden indigestar. Puedes usar el hack del underscore:



#opciones li a { display: block; _width: 100%;

        color: #000000;
}





Iban Rodriguez wrote:

Hola,

Estoy trasteando mientras (por fin) hago mi primera página CSS (hasta el
momento solo "sabía" la teoría... ahora es cuando me toca sacudirme con cada
tontería que quiero hacer).

He hecho un menú lateral utilizando una lista, y resulta que tengo varios
lios. Uno es una simple duda (la comentaré al final) y lo otro es un
problema que quiero solucionar.


1- El menú debe tener rollover de forma que se rellene la "celda" entera al pasar el ratón 2- Los links deberían colorearse de igual forma al pasar el ratón por la celda o por el propio link. Es decir, idealmente, la celda entera debería ser el link.

Googleando aquí y allá y mirando algunos ejemplos, he conseguido que esto
funcione... en FireFox.

Ahora resulta que en IE los "li" se me separan entre ellos unos 3 pixeles.
He descubierto que poniendo margin negativo a li la cosa va bien, pero
obviamente el margen también afecta a FireFox, de forma negativa (en ambos
sentidos).


Ahora bien, los detalles:



HTML:
________________________
<ul id="opciones">
        <li><a href="/?">Opcion 1</a></li>
        <li><a href="/?">Opcion 2</a></li>
        <li><a href="/?">Opcion N</a></li>
</ul>
________________________


CSS ____________________________ #opciones { margin: 0; padding: 0px; width: 140px; list-style: none; margin-right: 5px; padding-top: 15px; }

#opciones li
{
        width: 140px;
        line-height: 32px;
        margin-left: 0;
        font-size: 80%;
        font-variant: small-caps;
        display: block;
        background: #CCCCCC;
        padding-left: 5px;
        border: 1px solid #FFFFFF;
        border-left: 2px;
        border-right: 2px;
}

#opciones li:hover
{
        background: #9E8C7B;
}

#opciones li a
{
        color: #000000;
}

#opciones li a:hover
{
        color: #FFFFFF;
}
_____________________


Estando así, funciona perfectamente en IE pero el enlace sólo se ilumina al pasar el ratón por el texto. Es decir se ilumina el fondo de la lista y el enlace sigue negro, a no ser que pase el ratón justo por el enlace.


Si a

#opciones li a

Le añado un display:block, en firefox consigo el efecto que quiero (toda la
fila es el enlace y se ilumina todo igual al pasar el ratón por cualquier
zona de cada "li"), pero en explorer, además de NO ser enlace la fila
entera, me separa los LI entre ellos.

Sólo por el display:block.... ... Alguna solución? O me olvido simplemente
de eso?

Este es el problema... ahora la pequeña duda.

Algunos de estos enlaces llegan a ocupar 2 lineas. Con "line-height" he
visto que cada línea me ocupa 32px, y claro yo quiero que la CELDA ocupe
32px.

He probado a poner sólo "height: 32px", pero lo que ocurre es que el texto
se me pone arriba en lugar de quedarse centrado verticalmente...
Básicamente, me interesa que los enlaces estén centrados verticalmente,
ocupen 1 ó 2 líneas... en sus 32px de "li".

Gracias de antemano,
Un saludo.



--
arnau siches
css.artnau.com

_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://ovillo.org/mailman/listinfo/ovillo_ovillo.org

Responder a