2012-02-19 30 views
10

Utilizo un generador de árbol de organización javascript fantástico llamado "ECOTree" pero el dibujo no funciona cuando puse <!DOCTYPE html>. Las etiquetas en los cuadros no se colocan en los cuadros correctamente."<! DOCTYPE html>" ¿Qué significa?

Puede ver el error en sample1.htm en el sitio siguiente. ¿Alguien podría sugerirme cómo solucionarlo? http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=16192

(Con el fin de seguir mi regla de proyecto, tengo que definir <!DOCTYPE html>)

+6

'' es el doctype del documento. Básicamente le dice al navegador web cómo renderizar la página (hay diferentes tipos de documentos). Si la página se muestra incorrectamente con un doctype correcto, eso significa que la página no estaba codificada correctamente. – Blender

+5

posible duplicado de [¿Qué pasa, Doctype?] (Http://stackoverflow.com/questions/414891/whats-up-doctype) – animuson

+0

¡Thaks mucho! Como dijo, esta pregunta está duplicada. Lo leeré. (Puede ser difícil encontrar códigos no compatibles de "ECOTree", pero lo intentaré). – zono

Respuesta

25

<!DOCTYPE html> es la explícita Document Type Declaration.

Desde la página enlazada:

la declaración DOCTYPE (DTD o documento de declaración de tipo) hace un par de cosas:

  1. Al realizar las pruebas de validación de HTML en una página web que le dice al HTML Validador de (lenguaje de marcado de hipertexto) qué versión del estándar (X) HTML se supone que cumple la codificación de la página web. Cuando valida su página web, el validador HTML verifica la codificación con el estándar aplicable e informa qué partes de la codificación no pasan la validación HTML (no son compatibles).
  2. Le dice al navegador cómo renderizar la página en modo compatible con los estándares.

# 2 es una razón muy importante para usarlo.

<!DOCTYPE html>, específicamente, es el correct declaration for HTML5, y se debe utilizar prácticamente desde aquí hasta el futuro cercano. Todavía puede usar cadenas heredadas o cadenas permitidas obsoletas, pero el formato previamente escrito es todo lo que se requiere en HTML5. En una nota adicional, esta DTD causará todos los navegadores modernos dead link a switch to their standards (compliance) mode, incluso si no son compatibles con HTML5.

Aquí hay alguna información más:

Activating Browser Modes with Doctype & Choosing a Doctype (same page)
World Wide Web Consortium (que hacen los estándares web)

+1

@thirtydot "[deberíamos pensar por nosotros mismos al decidir qué página específica es una buena referencia, sin depender de una declaración general hecha por un tercero] (http://meta.stackexchange.com/a/87680)". Si un enlace proporciona información que no es incorrecta (como lo hizo el enlace), y es fácil de asimilar para alguien que obviamente no tiene idea sobre el tema, entonces es un buen enlace. El enlace que proporcionó es como recibir un golpe en la cara con un libro. La información de la calidad, estoy seguro, pero en el nivel de un libro blanco teórico en cuanto a la utilidad del lego. – rockerest

+0

"' html' es la declaración para HTML5 "Uh, no, en realidad no. En una declaración DOCTYPE válida, simplemente significa que el elemento raíz del documento es ''. La secuencia ' 'se toma como un todo por las especificaciones de HTML5. – BoltClock

+0

Eliminé el enlace w3schools principalmente porque ni siquiera * menciona * el tipo de documento HTML5. En 2012, eso no es bueno. Vincular a w3schools casi nunca es una buena idea. Su información a menudo es defectuosa de alguna manera, y aunque no lo sea, es menos probable que obtenga votos ascendentes y más probabilidades de obtener votos a la baja (experiencia personal). Para mitigar sus preocupaciones de que el enlace que proporcioné es demasiado complicado, puede actualizar el enlace a http://hsivonen.iki.fi/doctype/#choosing, que va directamente a la parte importante. Gracias por no retroceder su respuesta. – thirtydot

2

“! DOCTYPE html < >” ¿Qué significa?

Significa que su página web se representará de acuerdo con los estándares html5, obviamente, si tiene algo que el navegador no admite, entonces necesita usar un polyfill para eso.

13

<!DOCTYPE html> es no a "Declaración de tipo de documento".

Una "Declaración de tipo de documento" es un concepto SGML para señalar la sintaxis de marcado y el vocabulario para el marcado siguiente. <!DOCTYPE html> no cumple con los requisitos de eso. Esto es diferente de <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> que es una declaración de tipo de documento conforme a SGML.

<!DOCTYPE html> hace no indican un documento HTML5.

Aunque los documentos conformes con HTML5 en la serialización de texto/html deben tener <!DOCTYPE html> en su inicio, no se sigue que lo contrario sea cierto. Es decir. un documento puede tener <!DOCTYPE html> al comienzo y no ser un documento HTML5. Por ejemplo, se pretende que todas las versiones futuras de HTML usen la misma secuencia de caracteres al comienzo. Por lo tanto, podría indicar un documento HTML5, o un documento HTML6, HTML7 etc., un documento HTML5 + RDFa-lite o un documento de un estándar totalmente competidor.

La especificación HTML5 describe <!DOCTYPE html> como "a required preamble", y eso está mucho más cerca de la marca.

Es la secuencia de caracteres más corta que solicitará a los navegadores heredados y futuros que el navegador maneje el HTML del documento utilizando su modo de procesamiento HTML más moderno. Fue elegido como el preámbulo conforme para HTML5 solo por esa razón.

Si se puede decir que tiene algún significado, es que indica que el documento fue creado o refactorizado por última vez alrededor de 2007 o posterior. De nuevo, lo contrario no se aplica necesariamente. Un documento que no contiene <!DOCTYPE html> no implica que el documento se haya creado antes de una fecha en particular.

+1

Para la posteridad: la [lista de declaraciones de tipos de documentos] del Consorcio de la World Wide Web (http://www.w3.org/QA/2002/04/valid-dtd-list.html#DTD). Observando explícitamente que '' _es_ una Declaración de tipo de documento, aunque todavía no está oficialmente estandarizada. Además, el enlace en la respuesta anterior [establece explícitamente que otras DTD están obsoletas al crear documentos HTML] (http://www.w3.org/html/wg/drafts/html/master/syntax.html#obsolete-permitted -doctype) – rockerest

0

Indica la versión, es decir, la página está escrita en HTML5. Básicamente es la instrucción al navegador web sobre en qué versión de HTML está escrita la página e incluso decirle al navegador cómo debe representar la página.

http://www.w3.org/QA/2002/04/valid-dtd-list.html

0

⦁ El término DOCTYPE indica al navegador qué tipo de HTML se utiliza en una página web:

siguiente lista de HTML Doctype Lista Declaraciones son. A su vez, los navegadores usan DOCTYPE para determinar cómo renderizar una página. Si no se usa DOCTYPE o se usa un DOCTYPE incorrecto, se puede cargar la página en el modo Quirks. Ver ejemplo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">.