html - plantilla - ¿Qué es DOCTYPE?
doctype php (9)
Básicamente, DOCTYPE describe el HTML que se usará en su página.
Los navegadores también usan el DOCTYPE para determinar cómo renderizar una página. No incluir un DOCTYPE o incluir un DOCTYPE incorrecto puede activar el modo peculiar. El truco aquí es que el modo peculiar en Internet Explorer es bastante diferente del modo peculiar en Firefox (y otros navegadores), lo que significa que tendrás un trabajo mucho más difícil tratando de asegurar que tu página funcione de manera consistente en todos los navegadores si las páginas se renderizan en caprichos modo que lo harás si se procesan en modo estándar.
Wikipedia tiene un resumen más profundo de las diferencias en la representación cuando se utilizan varios DOCTYPE . XHTML es habilitado por ciertos doctypes, y hay bastante debate sobre el uso de XHTML, que está bien cubierto en XHTML: mitos y realidad .
Existen diferencias sutiles entre diferentes doctypes de "quejas estándar", como el doctype HTML5 ( <!DOCTYPE html>
, antes de HTML5 solo conocido como "doctype flaco" que no activa la representación estandarizada en navegadores antiguos) y otros DOCTYPE como este para HTML 4.01 de transición:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- ¿Qué es DOCTYPE y por qué quiero usarlo?
- ¿Cuáles son los diferentes DOCTYPE que puedo usar?
- ¿Cuál es la diferencia entre los estándares y el modo peculiar, y cuáles son algunas peculiaridades con las que me puedo encontrar con DOCTYPEs de diferente configuración?
Por último, ¿cuál es el DOCTYPE adecuado que debería estar usando?
El DOCTYPE le dice al agente de usuario consumidor (navegadores web, rastreadores web, herramientas de validación) qué tipo de documento es el archivo. Su uso asegura que el consumidor analice correctamente el HTML como lo pretendía.
Hay varios DOCTYPES diferentes para HTML, XHTML y Framesets, y cada uno de estos tiene dos modos, Estricto y Transitorio. Strict dice que su marcado utiliza exactamente los estándares definidos. Vea la página DTD de W3C para más detalles.
Quirksmode es básicamente el método de diseño de los días de guerra de navegadores cuando los estándares eran mucho menos respetados y definidos. Por lo general, una página de modo estándar, que es válida, se distribuirá de manera más consistente entre varios navegadores, pero puede carecer de ciertas características que usted necesita. Una de estas características es el atributo de destino de la etiqueta de anclaje. El sitio de Quirksmode es un gran recurso para estas diferencias.
Una última reflexión es que el nuevo estándar HTML5 propone el uso de un DOCTYPE muy simple:
<!DOCTYPE html>
El uso de este DOCTYPE es una forma compatible para que sus páginas estén en modo estándar y sean HTML. Este es el método que usa Google y es razonablemente fácil de recordar. Recomiendo usar este DOCTYPE a menos que planee usar XHTML.
En HTML (incluido XHTML) como se usa en las páginas web, DOCTYPE es una cadena que activa uno de los pocos modos de navegador (modo peculiar, modo estándar, modo casi estándar), dependiendo de la ortografía exacta del DOCTYPE. Desea usarlo para seleccionar el modo de navegador que mejor se adapte a su página.
Formalmente, en SGML y XML, una declaración DOCTYPE es una referencia a una definición de tipo de documento (DTD), que especifica las reglas de sintaxis formales del lenguaje de marcado. Ningún navegador ha usado DTDs para nada ni siquiera ha accedido a ellas. Sin embargo, los utilizan los validadores de marcado SGML y XML, como el Validador de marcado W3C , excepto en el modo HTML5. Por lo tanto, la elección de DOCTYPE determina cómo funciona un validador si el documento se le envía. Sin embargo, el modo de operación del validador también se puede seleccionar en su interfaz de usuario. (Los procesadores SGML y XML también pueden usar DOCTYPE de otras maneras, pero aparentemente la pregunta está limitada al contexto HTML y a los navegadores web y software estrechamente relacionado).
No hay una lista autorizada de DOCTYPEs. Cada especificación HTML o borrador define su propio DOCTYPE o DOCTYPE. El conjunto de DOCTYPE reconocido por los navegadores al seleccionar el modo varía según el navegador. En la práctica, no hay ninguna razón para usar un DOCTYPE que no sea <DOCTYPE html>
como se define en HTML5 , aunque HTML5 también enumera algunos "DOCTYPE heredados". Puede usar ese DOCTYPE si quiere el modo estándar (recomendado para páginas nuevas) y no usa DOCTYPE si desea el modo peculiar (que puede necesitar para páginas heredadas).
"Modo estándar" generalmente significa el modo de operación donde un navegador sigue HTML, CSS, DOM y otras especificaciones lo mejor que puede. Por lo general, no significa una conformidad total. El "modo Quirks" es diferente en diferentes navegadores, pero generalmente significa un intento de imitar el comportamiento de navegadores muy antiguos como IE 5. El propósito es mantener las páginas viejas funcionando, bajo la suposición de que pueden confiar en las características y errores en el navegador. viejos navegadores. Ver la descripción ¿Qué sucede en el modo Quirks? Tenga en cuenta que hay un concepto bastante diferente y más limitado del "modo peculiar" en HTML5, que se parece mucho al documento denominado Estándar de vida del modo Quirks .
Un problema típico es que los anchos de los elementos se calculan de forma diferente en el modo peculiar y en el modo estándar. Esto significa que el diseño de una página puede ser más o menos modificado o incluso completamente desordenado, si una página diseñada para trabajar en modo peculiar es vista en modo estándar (o viceversa).
Por lo tanto, debe usar <!DOCTYPE html>
para las páginas nuevas y conservar el DOCTYPE (si corresponde) que haya estado utilizando para las páginas anteriores.
Sin embargo, el modo peculiar significa, en algunos navegadores, que muchas funciones nuevas de CSS no son compatibles. Esto significa que si desea mejorar una página anterior con alguna función de CSS3, puede ser necesario cambiar a un DOCTYPE que activa el modo estándar. En tal caso, debe revisar y probar la página para ver si se ejecutará en modo estándar.
En la web, un doctype no hace más que decirle al navegador si desea estándares, casi estándares o modo peculiar.
Lo que cambia en el modo peculiar depende del navegador: Firefox, Opera, Safari y Chrome implementan un conjunto limitado de peculiaridades, como eliminar el espacio para los descifradores de texto en código como <table><tr><td><img></td></tr></table>
(solución: td img { vertical-align:bottom; }
). IE, por otro lado, vuelve al motor de renderizado en IE5.5. Eso significa que no podrá usar ninguna de las nuevas funciones implementadas desde 2000.
Para activar el modo estándar, sugiero usar el doctype HTML5, <doctype html>
, ya que es el más fácil de recordar.
En primer lugar, no hay ningún tipo de documento que deba utilizar, pero la mayoría de los diseñadores intentan hacerlo funcionar dentro de XHTML 1.0 Strict.
Un doctype no es más que una declaración de qué etiquetas puede usar dentro de su html (aunque los navegadores pueden usar más o menos de lo que se define). Puede abrir el archivo doctype y comenzar a leer ( XHTML 1.0 Strict )
Si no especifica un tipo de documento, el navegador hará todo lo posible para adivinar, pero no siempre acierta con el tipo correcto.
El modo Quirks es solo una técnica utilizada por los navegadores para ser compatible con versiones anteriores, un gran ejemplo del modo peculiar es cómo IE renderiza cuadros
La declaración no es una etiqueta HTML; es una instrucción para el navegador web sobre en qué versión de HTML está escrita la página.
En HTML 4.01, la declaración se refiere a una DTD, porque HTML 4.01 estaba basado en SGML. La DTD especifica las reglas para el lenguaje de marcado, de modo que los navegadores representen el contenido correctamente.
Los Doctypes le dicen al navegador en qué idioma está escrita la página, ya sea HTML o XHTML. Por ejemplo,
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
dile al navegador que represente la página como HTML4 strict
. Los navegadores antiguos solían representar las páginas de forma incorrecta y, por lo tanto, los navegadores más nuevos simulan errores de los navegadores más antiguos cuando encuentran un viejo tipo de documento.
Hoy deberías usar al menos HTML4 o mejor XHTML.
¡Una entrada de blog sobre doctypes es Fix Your Site With the Right DOCTYPE! (de A List Apart ).
Un doctype define qué versión de HTML / XHTML utiliza su documento. Debería usar un tipo de documento para que cuando ejecute su código a través de validadores, los validadores sepan qué versión de HTML / XHTML verificará. Esta página proporciona una buena visión general:
No olvides agregar un tipo de documento
Los tipos de documento comunes que puede usar se enumeran a continuación:
El tipo de documento con el que debe ir depende del código que esté usando, pero para hacerse una idea, intente ejecutar el código a través del validador W3C y use el menú desplegable Tipo de documento en el menú "Más opciones" para probar diferentes tipos de documento. .
Un doctype es un documento que describe cómo puede verse el contenido de un documento similar a xhtml (como una página web). Nota: esto define solo la sintaxis de dicha página, ¡la representación de la página NO está definida por la DTD!
Por ejemplo, un doctype podría definir cómo se vería la etiqueta <table>
, qué atributos acepta y qué valores / tipos de valores se aceptan para cada atributo. Piense en ello como un léxico para su página web actual.
Wikipedia tiene una página informativa sobre los diversos Doctypes que son de uso común. Eso sí, no hay nada que te impida crear tu propio doctype. Sin embargo, lo más probable es que el navegador no sepa cómo presentar su documento.
Qué DTD usar depende de lo que va a escribir. XHTML tiene una DTD completamente diferente a HTML, por ejemplo.