Ver Mensaje Individual
  #9 (permalink)  
Antiguo 23/08/2010, 11:14
kseso?
Colaborador
 
Fecha de Ingreso: junio-2007
Mensajes: 5.798
Antigüedad: 16 años, 10 meses
Puntos: 539
Respuesta: Div oculto que se despliega dentro de una lista¿?

Romperé mi propósito de no hacer códigos, pero como antes mencioné que alguno no había sido probado (y me refería a que por escueto era improbable que cubriese las necesidades planteadas):

Planteado desde la perspectiva de hacerlo lo más semántico posible y evitar el uso excesivo y abusivo de los div´s. Aunque habrá quien con razón, disienta del uso que hago de las listas de definición.

Como verás, hay una lista de definición /dl/ para los detalles de cada oferta y una lista sin orden /ul/ para los enlaces para ampliar información. Eso favorece el poder actuar sobre cada una de las dos listas y sus elementos.

No contemplo compatibilidad con navegadores (o sus versiones) obsoletas. Tampoco verificado con múltiples navegadores. Es sólo una forma de cómo se podría enfocar.

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="es-es">
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  4. <title>Kseso? Jugando con css</title>
  5.  
  6. <style type="text/css">
  7. * {margin: 0; padding: 0; outline: 0; position: relative;}
  8. #oferta {list-style-type:none; margin:0 0 10px; padding-left:20px; width:350px; border-bottom:1px solid #cce;}
  9. #oferta li {display:block; padding:0; margin:0;}
  10. #oferta li a, #oferta li a:visited {display:block; text-decoration:none;}
  11. #oferta li dd, #oferta li ul.ampliarinfo {display:none;}
  12. #oferta li:hover dt a {color:#222; }
  13. #oferta li:hover dd, #oferta li a:hover dd, #oferta li:hover ul, #oferta li a:hover ul {display:block;}
  14. #oferta dt {margin:0; padding: 0; font-size: 1.1em; font-weight: 100; border-top:1px solid #cce;}
  15. #oferta dd {margin:0; padding-left: 20px; font-size: 1em; text-align:left; }
  16. #oferta dd span {display:block; padding-left: 40px; margin-bottom: 15px; font-size: .9em;}
  17. #oferta li:hover dt {font-size: 1em; font-weight: 700;}
  18. .expandido dt a, .expandido dt a:visited {display:block; color:#777; padding:5px 5px 0 0;}
  19. .expandido dd, .expandido dd a, .expandido dd a:visited {color:#0094F0; text-decoration:none; display:block;}
  20. #oferta li ul.ampliarinfo {position: absolute; right: 0; bottom: 0; text-align: right; font-size: .7em;}
  21. #oferta li ul.ampliarinfo a { display: block; color:#00949F;}
  22. #oferta li ul.ampliarinfo a:hover {text-decoration: underline; color:#444}
  23. </head>
  24.     <ul id="oferta">
  25.       <li>
  26.         <dl class="expandido">
  27.              <dt><a href="#">Instalador autorizado de gas categor&iacute;a B.</a></dt>
  28.                <dd>Duración: 80horas</dd>
  29.                <dd>Fechas: marzo-julio de 2010</dd>
  30.                <dd>Horario: de 19h a 21h
  31.                    <span>lunes, Xles y viernes</span>
  32.                </dd>
  33.         </dl>
  34.           <ul class="ampliarinfo">
  35.              <li><a href="#" title="el titulo">+info</a></li>
  36.              <li><a href="#" title="inscripción">inscripción</a></li>
  37.              <li><a href="#" title="compartir">compartir</a></li>
  38.          </ul>
  39.       </li>
  40.       <li>
  41.         <dl class="expandido">
  42.            <dt><a href="#">Nuevo reglamento de distribución de gas</a></dt>
  43.              <dd>Duración: 80horas</dd>
  44.              <dd>Fechas: marzo-julio de 2010</dd>
  45.              <dd>Horario: de 19h a 21h
  46.                <span>lunes, Xles y viernes
  47.                </span>
  48.            </dd>
  49.         </dl>
  50.         <ul class="ampliarinfo">
  51.            <li><a href="#" title="el titulo">+info</a></li>
  52.            <li><a href="#" title="inscripción">inscripción</a></li>
  53.            <li><a href="#" title="compartir">compartir</a></li>
  54.         </ul>
  55.       </li>
  56.       <li>
  57.         <dl class="expandido">
  58.            <dt><a href="#">Soldadura semiatumática mig/max</a></dt>
  59.              <dd>Duración: 80horas</dd>
  60.              <dd>Fechas: marzo-julio de 2010</dd>
  61.              <dd>Horario: de 19h a 21h
  62.                <span>lunes, Xles y viernes</span>
  63.            </dd>
  64.         </dl>
  65.         <ul class="ampliarinfo">
  66.           <li><a href="#" title="el titulo">+info</a></li>
  67.           <li><a href="#" title="inscripción">inscripción</a></li>
  68.           <li><a href="#" title="compartir">compartir</a></li>
  69.         </ul>
  70.       </li>
  71.       <li>
  72.         <dl class="expandido">
  73.           <dt><a href="#">Instalador autorizado de gas categoría A</a></dt>
  74.             <dd>Duración: 80horas</dd>
  75.             <dd>Fechas: marzo-julio de 2010</dd>
  76.             <dd>Horario: de 19h a 21h
  77.               <span>lunes, Xles y viernes</span>
  78.             </dd>
  79.         </dl>
  80.         <ul class="ampliarinfo">
  81.           <li><a href="#" title="el titulo">+info</a></li>
  82.           <li><a href="#" title="inscripción">inscripción</a></li>
  83.           <li><a href="#" title="compartir">compartir</a></li>
  84.         </ul>
  85.       </li>
  86.     </ul>
  87. </body>
  88. </html>

Espero que eso fuese lo que se busca.
Y como decía, no es la respuesta exacta a la duda, sino una idea de cómo se podría enfocar. Código css sin depurar.

Atentamente

P.D.: Como verás, va en la línea que sugirió Alexk, sin js para el despliegue (que podría hacerse con css3 con sus advertencias oportunas) y algo diferente en lo que es la anidación de elementos.