On 7/20/06, Abel Sutilo <[EMAIL PROTECTED]> wrote:
>
> XHTML:
> <ul>
> <li><a href="#">Item 1</a></li>
> <li><a href="#">Item 2</li>
>    <ul>
>        <li><a href="#">Item 2.1</a></li>
>        <li><a href="#">Item 2.2</a></li>
>    </ul>
> <li><a href="#">Item 3</a></li>
> etc...
> </ul>

Un toque de advertencia: En Strict este código es inválido (en
Transitional no lo sé, pero lo apunto por si las moscas), los LI
deberían contener a la lista anidada:

<li>item 2
  <ul>
    <li>item 2.1</li>
    <li>item 2.2</li>
  </ul>
</li>
<li>item 3</li>

> Problema:
> El prolema es que aquellos Items que preceden a la lista anidada llevan
> un diseño diferente a aquellos que no preceden a una lista anidada [1]
> (luego los valores de "ul li a{}" no nos valen para el Item 2 en este
> ejemplo.
>
> La pregunta:
> <strong>Sin usar id o class, ¿cómo "recorcholis" puedo pintar dicho Item
> que precede a la sublista de manera diferente?</strong>
> ¿Alguna pseudoclase tipo :first-child pero a la inversa? No encontré
> nada en la especificación CSS2.

Creo que no. Muchas veces he querido hacerlo y al final siempre he
tirado de id o class... Con lo "fácil" que sería hacer unos operadores
de selectores como:

< (en contraposición a >):

li < ul { /* pondría en negrita los LI padres de un UL */
   font-weight: strong;
}

- (en contraposición a +):

li - li { /* pintaría de verde todos los LI que tuvieran un hermano
menor (algo así como todos menos el :last-child */
    color: green;
}

obviamente, si algún dia se añade a la especificación, IE no hará ni caso :D

saludos

-- 
Si no puedes deslumbrar con tu inteligencia,
desconcierta con tus gilipolleces
_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://ovillo.org/mailman/listinfo/ovillo

Responder a