¿Por qué necesitamos doctype en páginas HTML/JSP? Las páginas parecen funcionar sin eso.¿Por qué necesitamos DOCTYPE para las páginas HTML/JSP?
Respuesta
Zeldman wrote
Debido a estándares HTML y XHTML, un DOCTYPE (abreviatura de “tipo de documento declaración”) informa al validador la versión de (X) HTML que está utilizando, y debe aparecen en la parte superior de en cada página web. Los DOCTYPE son un componente clave de páginas web compatibles: su marcado y CSS no se validarán sin .
y echar un vistazo a los 24 Maneras artículo "Transitional vs. Strict Markup"
a venir HTML 5, lo único que necesita para declarar
<!DOCTYPE HTML>
Consulte http://www.quirksmode.org/css/quirksmode.html para la discusión completa; en resumen, se supone que doctype desencadena caprichos/modo estricto de representación y comportamiento de la página.
Desafortunadamente, las personas comenzaron a arrojar doctypes sin saber lo que hacen, lo que disminuye su utilidad.
escpecially Microsoft Internet Explorer tiene un problema importante con cierta doctypes o una completa falta de doctype. At the bottom of this page puede encontrar una descripción concisa del comportamiento del navegador en combinación con ciertos tipos de documentos. Hay tres comportamientos estándar:
- Q - Quirksmode. Realmente no quieres tener eso. Dispara box model bug en IE. El CSS
width
yheight
luego cubre incorrectamente elpadding
y elborder
. - A - Modo casi estándar. El tamaño económico, solo vertical de las celdas de la tabla no es según las especificaciones de CSS2. Útil si quiere evitar mysterious gaps of images in table cells.
- S - Modo de estándares. El navegador intenta ser completamente compatible con w3 HTML/CSS. Modo preferido ya que es el único modo en el que puede estar menos seguro de que su sitio web sea exactamente igual en todos los navegadores.
Aquí hay una pieza de HTML que demuestra el error de la caja del modelo en IE. Copy'n'paste'n'run it. Con <!DOCTYPE html>
presente, verá un rectángulo. Sin la línea doctype verá un cuadro genuino.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Remove DOCTYPE to trigger quirksmode</title>
<style>
#box {
background: yellow;
width: 100px;
padding: 20px;
border: 20px solid black;
margin: 20px;
}
</style>
</head>
<body>
<div id="box">box</div>
</body>
</html>
La influencia de este fallo de IE es el más notable cuando se desea un diseño web "pixelperfect".
Claro, todos los documentos html necesitan DOCTYPE para declarar la versión de html y decirle al navegador cómo traducir el html para evitar muchos errores del navegador.
Cuando configura DOCTYPE en una página, esto fuerza al navegador a cumplir con las normas, lo que impone reglas de representación más estrictas.
Si no lo usa, IE podría volver al modo peculiar, lo que podría causar problemas de visualización de la página.
Ver este enlace en Remember to declare your doctype.
doctype es una instrucción para el navegador sobre la utilización del lenguaje de marcado. doctype habilita el atributo html.
- 1. ¿Por qué necesitamos fibras
- 2. ¿Por qué necesitamos Thread.MemoryBarrier()?
- 3. ¿Por qué necesitamos C Unions?
- 4. ¿Por qué necesitamos ng-click?
- 5. ¿Por qué necesitamos marcos burlones?
- 6. PHP: ¿Qué son construcciones idiomáticas y por qué las necesitamos?
- 7. ¿Por qué necesitamos web-sockets?
- 8. ¿Por qué necesitamos struct? (C#)
- 9. ¿Por qué las declaraciones Doctype se dividen en dos líneas?
- 10. ¿Por qué necesitamos mesa virtual?
- 11. ¿Por qué necesitamos usar Radix?
- 12. ¿por qué necesitamos zone_highmem en x86?
- 13. ¿Por qué todavía necesitamos código generado?
- 14. ¿Por qué necesitamos este operador especial ===?
- 15. ¿Por qué necesitamos funcall en Lisp?
- 16. ¿Por qué necesitamos servicios web RESTful?
- 17. ¿Por qué necesitamos parámetros de "salida"?
- 18. ¿Por qué necesitamos una etiqueta fieldset?
- 19. ¿Por qué necesitamos Propiedades en C#
- 20. ¿Por qué necesitamos interfaces en Java?
- 21. ¿por qué necesitamos ClassMethods e InstanceMethods?
- 22. ¿Por qué incluso necesitamos el operador "delete []"?
- 23. ¿Por qué necesitamos el método ContinueWith?
- 24. ¿Por qué necesitamos Application Server en Java?
- 25. ¿Por qué necesitamos un constructor privado?
- 26. ¿Por qué necesitamos delegados de C#
- 27. ¿Por qué necesitamos patrones de diseño?
- 28. ¿Por qué necesitamos usar NSAutoreleasepool para cada hilo?
- 29. ¿Por qué necesitamos agregar paréntesis para evaluar JSON?
- 30. ¿Por qué necesitamos un ejecutable para iniciar los hilos?