Pregunta

¿Cuál es la correcta? Este:

<h2>heading 2</h2>
<p><a href="#" target="_blank" title="Opens in a new window">link 1</a></p>
<h2>heading 2 </h2>
<p><a href="#" target="_blank" title="Opens in a new window">link 2</a></p>
<h2>heading 2 </h2>
<p><a href="#" target="_blank" title="Opens in a new window">link 3</a></p>
<h2>heading 2 </h2>
<p><a href="#" target="_blank" title="Opens in a new window">link 4</a></p>

o esto:

<h2>heading 2</h2>
<a href="#" target="_blank" title="Opens in a new window">link 1</a>
<h2>heading 2 </h2>
<a href="#" target="_blank" title="Opens in a new window">link 2</a>
<h2>heading 2 </h2>
<a href="#" target="_blank" title="Opens in a new window">link 3</a>
<h2>heading 2 </h2>
<a href="#" target="_blank" title="Opens in a new window">link 4</a>
¿Fue útil?

Solución

@Jitendra, estoy de acuerdo con su punto .. pero sólo si están utilizando strict.dtd (HTML / XHTML)
De acuerdo con la recomendación del W3C (por estricta DTD ) .. la etiqueta <a> debe ser utilizado en un elemento de bloque. Qué buscar en el siguiente ejemplo:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
   <meta content="text/html; charset=utf-8" http-equiv="content-type"/>
   <title>example</title>
 </head>
 <body>You don't have sufficient privileges to access the page.<a href="www.google.co.in">Click here</a> to go back.
 </body>
</html>

El código anterior produce error al hacer la validación HTML .. diciendo

document type does not allow element "A" here; missing one of "P", "H1", "H2", "H3", "H4", "H5", "H6", "PRE", "DIV", "ADDRESS" start-tag

Hacer la DTD como suelta / transición puede deshacerse del error .. Para HTML o XHTML estricto estricto de este error es obvio ..

Esperamos que ayudó ..:)

respecto Pro-bebé

Otros consejos

Ambos tienen razón, tanto validará

Los dos están bien, pero después de haber flotando Elementos en línea que me molesta por alguna razón

Mientras que nunca se han preocupado por la "no-bloque en bloque de elementos" regla al escribir códigos HTML, cuerpo se supone que el ser un elemento de bloque. (He olvidado donde lo leí aunque '), es decir los dos fragmentos de código HTML son la derecha.

Ninguno de los dos son verdaderamente 'derecho' semánticamente: -)

Ponga como una lista y tratar de evitar el target = "_ blank". Probablemente no hay razón para poner un <p> alrededor de cada <a> (Sólo hay que asegurarse de que todo el lote se encuentra en un elemento de bloque si desea validar con estricta - buen punto de bebé programador )

.

Si desea que el <a> para actuar como elemento de bloque y por lo tanto eliminar el <p> sólo tiene que utilizar

#somewrapper a
{
 display: block;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top