On dj, 2004-11-04 at 21:36, Milton Mazzarri wrote:

> La segunda y �ltima inquietud que se me ha presentado hasta ahora es
> como puedo "alcanzar" a trav�s de CSS los siguientes subtitulos para
> reemplazarlos por im�genes, supongan que lo siguiente es la estructura
> del documento en XHTML:
> 
> <div id="cuerpo">
> <h1><span>T�tulo</span></h1>
> <p>Viene el primer p�rrafo</p>
> <h2><span>Subtitulo 1</span></h2>
> <p>Viene el segundo p�rrafo</p>
> <h2><span>Subtitulo 2</span></h2>
> <p>Viene el tercer p�rrafo</p>
> </div>

Lo que preguntas es un interesante problema. Partiendo del hecho que
comentas que no puedes modificar el XHTML, he estado probando distintas
posibilidades que ofrece el CSS.

Para empezar est� la soluci�n elegante que, sin embargo, la implementa
CSS3 y a�n no aparece en ning�n (que yo sepa) navegador:

h2:nth-child(1) { color: blue; }
h2:nth-child(2) { color: green; }

Con esto seleccionar�as que 'hijo' quieres.

Otra alternativa (que tampoco creo que funciona a�n) es:

h2:contains("Subtitulo 1") { color: blue; }
h2:contains("Subtitulo 2") { color: green; }

Con lo que puedes 'capturar' el contenido de un elemento.

En CSS2.1 tienes una opci�n que deber�a funcionar, pero que, sin
embargo, no he conseguido que lo haga:

h1 { counter-reset: subtitulos }
h2 
{ 
  visibility: hidden;  
  counter-increment: subtitulos;
  }
h2:before { content: "<img src=\""counter(subtitulos)".png\" ...."; }

Con esto creas un contador para los elementos 'h2' que se resetea a cada
'h1'. Una vez encuentra un 'h2' no lo muestra y lo que hace es agregar
en su c�digo un elemento imagen apuntando al n�mero-de-contador.png con
lo que podr�as enlazar im�genes para cada subt�tulo... Lo he probado en
Firefox y parece no funcionar, tampoco me estra�a pues es una soluci�n
un tanto chapuzera.

Aunque para chapuza aunt�ntica, la �nica que he encontrado que te puede
servir:

div > h1 + p + h2  { color: red; }
div > h2 + p + h2 { color: green; }

Esta soluci�n dice que, dado un hijo de 'div', si es un 'h2' precedido
por un 'p' precedido, a su vez, por un 'h1' lo coloree de rojo. En el
caso que sea un 'h2' precedido por un 'p' y un 'h2' lo colorea de verde.
Esto tampoco es nada elegante pero, dada tu situaci�n, es la �nica
soluci�n que veo viable. 

Claro est� que no creo que la p�gina que deseas maquetar se parezca
demasiado al c�digo que has dado de ejemplo y, si quieres usar esta
soluci�n, deber�s encontrar secuencias diferenciales para cada
subt�tulo. Vamos, que seg�n como sea la p�gina tienes trabajo...

saludos!

-- 
Dani Armengol Garreta
JID: [EMAIL PROTECTED]
WWW: http://parap.melindro.com


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

Responder a