Cómo escribir un enlace con contenido complejo en su interior para que sea válido y correcto

El validador html w3 me dirá que esto está mal:

<a href="http://www.bla.com>
   <div>something</div>
   <ul>
       <li>first</li>
       <li>second</li>
   </ul>
</a>

para obtener una validación como HTML 4 estricta (o simplemente para escribir las cosas correctamente)

¿Cuál es la mejor forma de escribirlo?

  1. no div's y ul's, solo span con clases que necesito diseñar:

    <a href="http://www.bla.com>

      <span class="div">something</span>
       <span class="ul">
           <span class="li">first</span>
           <span class="li">second</span>
       </span>
    </a>
    
  2. sin <a>

<div id="actAsLink" onclick="javascript:window.open('http://www.bla.com')>

<div>something</div>

<ul>

   <li>first</li>
   <li>second</li>

</ul>

</div>

=========================

Lamento que el código no se vea de la mejor manera. Tuve problemas para manejar el "muestreador de código" en este sitio web.

preguntado el 02 de febrero de 12 a las 11:02

Sangría de código en Markdown: cuatro espacios antes de un bloque de código y 4 espacios adicionales para cada nivel de lista. Por lo tanto, necesitará 8 espacios antes de cada línea dentro de una lista de nivel 1. -

2 Respuestas

Voto por la opción 1: Anchor + nombres de clase descriptivos:

  • El enlace funcionará, incluso cuando JavaScript o las ventanas emergentes estén deshabilitados. (Esto es lo más importante característica para mí.)
  • Los atributos de clase describen su papel, como sustituto de la <ul>, <li> elementos. Estos elementos se pueden diseñar con CSS.

Sin embargo, su estructura se ve un poco extraña: ¿Por qué desea anidar una lista en un ancla?

Respondido 02 Feb 12, 15:02

Realmente deberías tener <a> etiquetas dentro de cada una de las div, ul y li tags:

<div><a href="#"></a></div>
<ul>
    <li><a href="#">first</a></li>
    <li><a href="#">second</a></li>
</ul>

Este es un marcado válido, pero obviamente con la desventaja de que tiene tres enlaces en lugar de uno. Sin embargo, no estoy seguro de por qué desea tener una lista dentro de un enlace; es más común ver una lista de enlaces.

Respondido 02 Feb 12, 15:02

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.