2008-11-05 9 views
5

Duplicar posible:
What are the different doctypes in html and what do they mean?HTML DTDs - ¿Cuál es el punto?

Siendo bastante experiencia con ciertos aspectos de desarrollo web (siempre me he concentrado más en el back-end que la parte delantera), ¿alguien puede darme sus pensamientos sobre si debería preocuparme por la declaración DOCTYPE hecha al comienzo de las páginas web?

¿Es el HTML 4.01 más común y debería crear mis aplicaciones web para cumplir con este estándar?

Respuesta

4

John Resig (jQuery) has a say en ese asunto. Además, un DocType ayuda a hacer MSIE6 use the right box model, y también alivia el dolor de la validación de su sitio (esta es una buena cosa para el desarrollo; piénselo como depuración).

3

Definitivamente debe incluir un DOCTYPE como la primera declaración dentro de sus páginas, ya que cambiará los navegadores web al modo estándar. Esto significa que al menos intentarán renderizar su página utilizando los estándares W3C e IETF en lugar de seguir el modelo compatible con versiones anteriores conocido como modo peculiar.

Según mis propias observaciones, ahora hay más uso de XHTML 1.0 Transitiona que de HTML 4.01. XHTML 1.0 Transitional es una especie de casa intermedia que te brinda algunos de los beneficios de XHTML sin ser demasiado oneroso.

0

Sin tener en cuenta todas las buenas prácticas, la razón principal por la que las personas usan un DOCTYPE como XHTML 1.0 Transitional es cambiar el modelo de caja de CSS en IE para que sea el mismo que el resto de los navegadores. Esto evita mucha frustración con el diseño de CSS. Se explica aquí con más detalle: http://css.maxdesign.com.au/listamatic/about-boxmodel.htm

2

Las DTD se utilizan para la validación y definición de entidades. Ellos aproximadamente especifican los requisitos de sintaxis para un cierto lenguaje y versión de marcado.

La validación se puede hacer contra un DTD utilizando un validador. O bien, podría ser realizado por el agente de usuario durante el análisis (como es el caso de algunos validando analizadores HTML/XML). Las entidades definidas en la DTD pueden estar disponibles si el agente de usuario lo admite.

Una declaración DOCTYPE es la manera del lenguaje de marcado (en HTML y XML al menos) para hacer referencia a una DTD en línea/externa en el documento.

Ahora, en lo que respecta a los analizadores HTML (text/html) de los navegadores, la declaración DOCTYPE solo controla el modo de renderizado (conmutación DOCTYPE). El modo será Estándares, Almost Standards o Quirks dependiendo de la versión de HTML a la que se haga referencia y de si se especifica o no un URI de DTD. El dtd real no se usa. Por ejemplo, un doctype XHTML 1.0 Transitional con un DTD URI podría poner el navegador en el modo Almost Standards, donde un doctype XHTML 1.0 Strict con el DTD URI debería poner el navegador en modo Estándares. Además, el doctype de HTML5 <! DOCTYPE html > pondrá todos los navegadores en modo Estándares y pondrá IE8 + en el modo Súper estándares (por lo que se comporta un poco más como los navegadores modernos al renderizar). Sin embargo, en general, el tipo de documento tiene poco efecto sobre el soporte de Javascript y DOM (aunque hay excepciones, especialmente con IE8).

Para los navegadores, ya que casi siempre quiere el modo de estándares completos, todo lo que realmente necesita es <! DOCTYPE html >. Algo más no ayudará al navegador. Sin embargo, ese tipo de documento es para HTML5. Si desea ajustarse a una DTD HTML 4.01 o una DTD XHTML 1.0, debe usar HTML 4.01 strict o XHTML 1.0 strict con los DTD URI adecuados para obtener el modo de estándares completos.

Si desea cumplir con HTML5, puede probar su sintaxis al http://validator.nu/. No valida con una DTD y es más avanzada que la DTD. También refleja HTML 5 mejor que una DTD y, como HTML5 refleja mejor lo que los navegadores realmente soportan, su verificación de sintaxis es más compatible con el mundo del navegador.

Si desea cumplir con los HTML 4.01 o XHTML 1.0 DTDs, utilice el validador W3C. Solo tenga en cuenta que esas DTD no reflejan qué navegadores son compatibles y solo reflejan aproximadamente las especificaciones para las que están. Estas DTD son simplemente más para detectar errores de sintaxis aproximada y para agentes de usuario que no son navegadores y que los utilizan plenamente. Tampoco saben nada sobre cómo los navegadores se comportan de forma diferente entre text/html y application/xhtml + xml.

para leer sobre navegador Doctype conmutación:

http://www.mozilla.org/docs/web-developer/quirks/doctypes.html

http://www.opera.com/docs/specs/doctype/

http://hsivonen.iki.fi/doctype/