Re: [Ovillo] Listas dentro de listas: Controlando el elemento LI padre
Hola, On 7/21/06, Abel Sutilo [EMAIL PROTECTED] wrote: Saludos Carlos, mi comentario abajo carlos campderrós escribió: On 7/20/06, Abel Sutilo [EMAIL PROTECTED] wrote: [...] Ya. Sin embargo mi problema es que tengo dos tipos de padres (padre tipo1: Item1/Item3; padre tipo2: Item2) y un sólo tipo de hijo (se ve en el enlace al gráfico [1])... y sin usar class veo que esto es imposible U_U! Javascript se divisa como posible solución. A ver qué hay por la red... Con CSS 2 solamente y sin agregar una clase a los li padres es imposible hacer lo que intentás. Pero si no podés modificar el código que se envía al navegador, podés recurrir a javascript para modificarlo una vez que ya fue cargado por éste (asumo que podrás hacer que tu CMS cargue una función javascript extra, aunque más no sea agregándola en una archivo js ya existente). No tengo a mano los nombres de las propiedades y métodos que te han de servir para el script ni quiero salirme de la temática de Ovillo (podés recurrir a la lista JavaEScript para más ayuda), así que te comento brevemente la idea. Básicamente, deberías recorrer todos los li o los que conciernen a tu menú para chequear si tienen un hijo llamado ul, si es así, le agregás una clase. Espero que te sirva. Saludos, -- Camilo Kawerín ___ 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
Re: [Ovillo] Listas dentro de listas: Controlando el elemento LI padre
Saludos Carlos, mi comentario abajo carlos campderrós escribió: On 7/20/06, Abel Sutilo [EMAIL PROTECTED] wrote: [...] Entonces el li padre queda en negro y el li hijo queja en rojo. Podés definir cualquier propiedad para el padre siempre y cuando la contradigas para el hijo. li { display: inline; } li li { display: block; } Ya. Sin embargo mi problema es que tengo dos tipos de padres (padre tipo1: Item1/Item3; padre tipo2: Item2) y un sólo tipo de hijo (se ve en el enlace al gráfico [1])... y sin usar class veo que esto es imposible U_U! Javascript se divisa como posible solución. A ver qué hay por la red... Creo que no. Item1/ Item3 no son padres de nada, por lo tanto les afectaría el li {display: inline;}, mientras que... ah no, olvídalo... el método que propuso Martín creo que falla, como bien dijiste... pinta diferente los LI anidados, pero no el padre de dichos LI... Exacto, he ahi la cuestión. Llamar padre a Item1 y 3 era unicamente por situarlos en el mismo nivel que Item2 (aunque no tuveran hijos). Llamarlos solteros hubiera resultado confuso a la par que de un humor deficiente xD. Asi que ya ves, no se puede como comentaba... Lástima ¡Dimelo a mi! A ver como lo hago :-S Gracias de todos modos Buen fin de semana, Abel ___ 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
Re: [Ovillo] Listas dentro de listas: Controlando el elemento LI padre
Fe de erratas: El codigo generado es más bien algo asi: ul lia href=#Item 1/a/li lia href=#Item 2/li ul lia href=#Item 2.1/a/li lia href=#Item 2.2/a/li /ul lia href=#Item 3/a/li etc... /ul Pues si que debería poder ser revisardo, pues el hijo del elemento ul sólo puede ser el elemento li. www.niquelao.net ___ 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
Re: [Ovillo] Listas dentro de listas: Controlando el elemento LI padre
Jorge Rumoroso escribió: Pues si que debería poder ser revisardo, pues el hijo del elemento ul sólo puede ser el elemento li. www.niquelao.net Hola, Por tu respuesta creo que ó no me has entendido ó no me expresado con claridad. Si revisas mi post original (no al segundo que he escrito como aclaración) quizás comprendas a lo que me refiero. De todas formas vuelvo a insistir por si alguien tiene una idea. Premisas: Se trata de pintar con CSS una lista para un menú sin usar id o class (sólo por herencias). XHTML: ul lia href=#Item 1/a/li lia href=#Item 2/li ul lia href=#Item 2.1/a/li lia href=#Item 2.2/a/li /ul lia href=#Item 3/a/li etc... /ul CSS: ul{} ul li{} ul li a{} ul li ul{} ul li ul li {} ul li ul li a {} Hasta ahi sin problemas. 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: strongSin 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. [1] Ejemplo gráfico para entenderlo mejor: http://www.abelsutilo.com/documentos/ovillo/sublista/sublista.gif Gracias, -- Abel ___ 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
Re: [Ovillo] Listas dentro de listas: Controlando el elemento LI padre
[abajo mi respuesta] Abel Sutilo escribió: Jorge Rumoroso escribió: Pues si que debería poder ser revisardo, pues el hijo del elemento ul sólo puede ser el elemento li. www.niquelao.net Hola, Por tu respuesta creo que ó no me has entendido ó no me expresado con claridad. Si revisas mi post original (no al segundo que he escrito como aclaración) quizás comprendas a lo que me refiero. De todas formas vuelvo a insistir por si alguien tiene una idea. Premisas: Se trata de pintar con CSS una lista para un menú sin usar id o class (sólo por herencias). XHTML: ul lia href=#Item 1/a/li lia href=#Item 2/li ul lia href=#Item 2.1/a/li lia href=#Item 2.2/a/li /ul lia href=#Item 3/a/li etc... /ul Lo que te dice Jorge es que tu código debería tener un li alrededor de cada ul ul lia href=#Item 1/a/li lia href=#Item 2/li li ul lia href=#Item 2.1/a/li lia href=#Item 2.2/a/li /ul /li lia href=#Item 3/a/li etc... /ul CSS: ul{} ul li{} ul li a{} ul li ul{} ul li ul li {} ul li ul li a {} Hasta ahi sin problemas. 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: strongSin 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. Yo opto por algo que tal vez sea poco ortodoxo, pero siempre me ha funcionado de maravillas: contradecirme. Por ejemplo: li { color: black } li li { color: red } Entonces el li padre queda en negro y el li hijo queja en rojo. Podés definir cualquier propiedad para el padre siempre y cuando la contradigas para el hijo. li { display: inline; } li li { display: block; } Creo que es una solución a tu problema. Si a alguien le parece una aberración, me encantaría conocer otras ideas. [1] Ejemplo gráfico para entenderlo mejor: http://www.abelsutilo.com/documentos/ovillo/sublista/sublista.gif Gracias, -- Abel -- Martin Szyszlican http://www.ylisto.info Si este mensaje fué muy largo, fué poco profundo ___ 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
Re: [Ovillo] Listas dentro de listas: Controlando el elemento LI padre
On 7/20/06, Abel Sutilo [EMAIL PROTECTED] wrote: XHTML: ul lia href=#Item 1/a/li lia href=#Item 2/li ul lia href=#Item 2.1/a/li lia href=#Item 2.2/a/li /ul lia 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: liitem 2 ul liitem 2.1/li liitem 2.2/li /ul /li liitem 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: strongSin 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
Re: [Ovillo] Listas dentro de listas: Controlando el elemento LI padre
On 7/20/06, Martin Szyszlican [EMAIL PROTECTED] wrote: Yo opto por algo que tal vez sea poco ortodoxo, pero siempre me ha funcionado de maravillas: contradecirme. Por ejemplo: li { color: black } li li { color: red } [...] li { display: inline; } li li { display: block; } Creo que es una solución a tu problema. Si a alguien le parece una aberración, me encantaría conocer otras ideas. a mi me ha encantado, y supongo q a Abel más : ) -- 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