Re: [Ovillo] Listas dentro de listas: Controlando el elemento LI padre

2006-07-22 Por tema camilokawerin
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

2006-07-21 Por tema Abel Sutilo
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

2006-07-20 Por tema Jorge Rumoroso

 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

2006-07-20 Por tema Abel Sutilo
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

2006-07-20 Por tema Martin Szyszlican
[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

2006-07-20 Por tema carlos campderrós
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

2006-07-20 Por tema carlos campderrós
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