Podemos utilizar directamente en el cuerpo, o siempre en ninguna variable de nivel de bloque debe? Ver ejemplo (XHTML)
-
21-09-2019 - |
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>
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;
}