Algunas páginas web se crean según los estándares, pero también hay muchas que no lo son. Incluso si no puede crear páginas web que sigan los estándares, desea que el navegador muestre esas páginas correctamente de acuerdo con los estándares. Actualmente, una gran cantidad de páginas web están llenas de un montón de código no estándar, y todavía funcionan correctamente. De hecho, la mayoría del código diseñado para navegadores más antiguos se mostrará correctamente en los navegadores más nuevos (aunque puede haber diferencias en la forma en que se representa). ¿Cuál es la razón de esto? De hecho, seguir estrictamente los últimos estándares socavará por completo la base de supervivencia de esas páginas. Esto ciertamente es inaceptable para cualquier navegador que quiera marcar la diferencia.
Modo de renderizado del navegador
Los navegadores modernos incluyen diferentes modos de renderizado, con el objetivo de admitir ambas páginas web que siguen estándares y páginas web diseñadas para navegadores más antiguos. Entre ellos, el modo de estándares (es decir, el modo de presentación estricto) se usa para presentar páginas web que siguen los últimos estándares, mientras que el modo Quirks (es decir, el modo de presentación suelta o el modo de compatibilidad) se usa para presentar páginas web diseñadas para navegadores tradicionales. Además, tenga en cuenta que Mozilla/Netscape 6 ha agregado un modo casi estándar para admitir páginas web diseñadas para una versión anterior del estándar.
¿Qué es Doctype Switch?
La declaración de DocType colocada en la parte superior de la página web es la clave para llevar el navegador al modo de representación correcto. El navegador cambia automáticamente al modo de representación apropiado para mostrar correctamente el tipo de documento especificado por la Declaración de DocType.
En teoría, este debería ser un interruptor muy intuitivo. Si DocType señala que la página web actual es un documento que cumple con el estándar (es decir, HTML 4+ o XHTML 1+), el navegador cambiará al modo estándar. Si no se especifica el doctype, o se especifican las versiones HTML 3.2 y anteriores, el navegador cambia al modo de peculiaridad. De esta manera, el navegador puede mostrar los documentos que siguen los estándares correctamente sin abandonar por completo las páginas web anticuadas que no coinciden con los estándares.
Problema de conmutación de Doctype
Sin embargo, la conmutación de DocType es una solución incompleta. Incluso si utiliza una declaración de doctype en su documento web, el navegador puede no tomar el modo de renderizado que desea mostrar la página web. Hay muchas razones, incluido el Doctype de la forma incorrecta, y diferentes comienzos de <? Xml versión = 1.0 encoding = utf-8?>) Que incluye la página web XHTML. Sin embargo, es decir, las versiones de Safari, es decir, ópera y más antiguas de Safari, quieren que la primera línea del documento sea la declaración de doctype. Entonces, si hay algo más antes (incluido XML Prolog), el Doctype no se reconoce. Por lo tanto, la existencia de XML Prolog traerá IE, ópera y safari al modo de peculiaridad. No se requiere XML Prolog, por lo que puede omitirlo de manera segura en la página web XHTML. NOTA: Asegúrese de incluir un atributo de charset en la meta etiqueta HTTP-Equiv para compensar el atributo de codificación faltante en el Prolog XML.
Falta URL o URL relativa:
En la declaración completa de Doctype, incluya la URL del archivo de definición de tipo de documento correspondiente (DTD). Si se pierde la URL, o si se especifica, una ruta relativa (en lugar de una dirección de Internet totalmente calificada), la mayoría de los navegadores ingresarán al modo de peculiaridad, independientemente del modo especificado por la declaración de Doctype.
Doctype de forma incorrecta:
El navegador es muy sensible a la forma y el formato de la Declaración de Doctype, y si no se puede reconocer una forma incorrecta DOCTYPE, se forzará al modo de peculiaridades (por esta razón, recomendamos copiar y pegar un Doctype correcto conocido en el documento en lugar de escribirlo en persona). Una razón común para el error de formulario Doctype es que falta un espacio entre la primera parte de Doctype y la URL. Colapso de un Doctype dividido en dos líneas en una sola línea, y ese espacio a menudo se perderá.
El período de transición Doctype:
Cuando un navegador maneja el Doctype del período de transición, es más probable que tenga problemas inconsistentes. IE y Opera utilizan el modo de estándares; Las versiones Netscape de 6 y más de Safari usan el modo Quirks; Netscape 7, Mozilla 1 y las versiones más nuevas de Safari utilizan el modo casi estándar de Netscape, que es una mejor versión tolerante a fallas del modo estándar.
Doctype desconocido:
También hay inconsistencia cuando el navegador maneja doctypes no reconocidos. IE y Opera ingresarán al modo estándar; En otras palabras, supone que el Doctype no reconocido es un nuevo estándar que no se ha integrado en el navegador. Por el contrario, Netscape 6 cambiará al modo de peculiaridades al encontrar doctypes no reconocidos.
La conmutación de DocType puede ser un medio efectivo para que el navegador ingrese al modo de representación correcto y muestre la página web correctamente, siempre que note inconsistencias en varios navegadores y pueda evitar activamente diversos problemas.
2. Utilice la declaración correcta de DoctypePodemos ignorar esto al hacer páginas (incluido yo, generalmente soy vago para no escribir y usar el valor predeterminado del navegador). Con la llegada de la moda actual para la estandarización de la codificación de la página web, es necesario que todos comprendan este detalle, lo que será útil. Como dice el dicho, no hay orden sin reglas.
Si bien la mayoría de los documentos web tienen declaraciones de doctype en la parte superior, muchas personas no le están prestando atención. Es uno de los muchos detalles que son descuidados por el software de autoridad web cuando crea un nuevo documento. Si bien muchos se pasa por alto a Doctype, es un elemento necesario en cualquier documento web que siga los estándares. DocType afecta la verificación del código y determina cómo el navegador finalmente muestra su documentación web.
El papel de Doctype
La declaración de DocType señala qué conjuntos de reglas deben utilizar el lector para interpretar las etiquetas en el documento. En el caso de los documentos web, el programa de lectura suele ser un programa como un navegador o un dispositivo de verificación, y las reglas son las reglas contenidas en una definición de tipo de documento (DTD) publicada por W3C.
Cada DTD incluye una serie de etiquetas, atributos y propiedades que se utilizan para marcar el contenido de un documento web; y también incluye reglas que especifiquen qué etiquetas pueden aparecer en qué otras etiquetas. Cada estándar sugerido en la web (como HTML 4 Frameset y XHTML 1.0 Transitional) tiene su propio DTD. Si las etiquetas en el documento no siguen el DTD especificado por la Declaración de DocType, el documento no puede mostrarse correctamente en el navegador además de no pasar la verificación del código. El navegador es más tolerante que el dispositivo de verificación para el problema de los marcados inconsistentes. Sin embargo, las declaraciones de doctype incorrectas a menudo hacen que las páginas web se muestren incorrectamente, o hacen que no se muestren en absoluto.
Seleccione el Doctype correcto
Para obtener la Declaración de Doctype correcta, la clave es hacer que el DTD corresponda a los estándares que sigue el documento. Por ejemplo, suponiendo que el documento siga el estándar XHTML 1.0 Strict, la Declaración de Doctype del documento debe referirse al DTD correspondiente. Por otro lado, es inapropiado si la declaración de DOCTYPE especifica XHTML DTD pero el documento contiene etiquetas HTML de estilo antiguo; Del mismo modo, también es inapropiado si la declaración de DOCTYPE especifica HTML DTD pero el documento contiene etiquetas estrictas XHTML 1.0.
A veces, no puedes usar una declaración de doctype en absoluto. Si no se especifica una declaración de doctype válida, la mayoría de los navegadores utilizarán un DTD predeterminado incorporado. En este caso, el navegador usará el DTD incorporado para intentar mostrar la etiqueta que especificó. Para algunos documentos temporales y apresurados (hay muchos de ellos), de hecho, puede considerar omitir la declaración de doctype y aceptar la pantalla predeterminada del navegador.
Es completamente posible escribir una declaración de doctype desde cero y dejar que apunte a un DTD de su elección. Sin embargo, dado que la mayoría de los documentos web deben seguir un estándar web reconocido internacionalmente publicado por W3C, esos documentos generalmente contienen una de las siguientes declaraciones estándar de doctype:
Html 2: <! DocType html público -// ietf // dtd html 2.0 // en>
Html 3.2: <! DocType Html público -// w3c // dtd html 3.2 final // en>
Html 4.01 Strict: <! DocType html público -// w3c // dtd html 4.01 // en http://www.w3.org/tr/html4/strict.dtd>
Html 4.01 Transitional: <! DocType html público -// w3c // dtd html 4.01 transitional // en http://www.w3.org/tr/html4/loose.dtd>
Html 4.01 Frameset: <! DocType html público -// w3c // dtd html 4.01 frameset // en http://www.w3.org/tr/html4/frameset.dtd>
Xhtml 1.0 Strict: <! DocType html public -// w3c // dtd xhtml 1.0 strict // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-trict.dtd>
XHTML 1.0 Transitional: <! DocType html público -// w3c // dtd xhtml 1.0 transitional // en http://www.w3.org/tr/xhtml1/dtd/xhtml1 transitional.dtd>
XHTML 1.0 Frameset: <! Doctype html público -// w3c // dtd xhtml 1.0 frameset // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>
Xhtml 1.1: <! DocType html público -// w3c // dtd xhtml 1.1 // en http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd>
XHTML 1.1 Plus Mathml Plus Svg: <! DocType html público-// w3c // dtd xhtml 1.1 más mathml 2.0 más svg 1.1 // en http://www.w3.org/2002/04/xhtml-math-math-shtml-svg.dttd>
Además de la Declaración de Doctype enumerada anteriormente, algunos documentos con requisitos especiales usan varias otras declaraciones.
La Declaración de DocType suele ser la primera línea del documento, antes de la etiqueta <html> y otro contenido del documento. Tenga en cuenta que en el documento XHTML, una instrucción de procesamiento XML (también conocida como XML Prolog) aparece ocasionalmente frente al DOCTYPE: <? XML Version = 1.0 codificación = UTF-8?>
Para garantizar que la página web se muestre correctamente y pase la verificación sin problemas, usar el Doctype correcto es clave. Los doctypes que son opuestos, incorrectos o incorrectos en forma son los culpables de una gran cantidad de problemas.
Al diseñar una página web con DW, cree un archivo nuevo y vea que siempre hay algo debajo del frente del código.
<! Doctype html public -// w3c // dtd html 4.01 transitional // en http://www.w3.org/tr/html4/loose.dtd> Esto es DW que agrega automáticamente información de DTD a la página del archivo de la página web, que se puede delectar. Después de la eliminación, el navegador usará el DTD predeterminado.
3. Qué tipo de doctype elegir
Cuando comienza a crear un sitio que satisfaga los estándares, lo primero que hace es declarar un doctype que satisface sus necesidades.
Consulte el código original de esta página y puede ver que la primera línea es: <! Doctype html public -// w3c // dtd xhtml 1.0 transitional // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-tranicional.dtd>>
Abra algunos sitios que cumplan con los estándares, como el sitio web personal del famoso desarrollador de software de diseño web Macromedia y el maestro de diseño Zeldman, y encontrará el mismo código. El código para otros sitios que cumplen con los estándares (como k10k.net) es el siguiente:
<! Doctype html public -// w3c // dtd xhtml 1.0 frameset // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>) de la doja html público -// w3c // dtd xhtml 1 http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd> br>. El código completo es el siguiente:
<! Doctype html public -// w3c // dtd xhtml 1.0 http://www.w3.org/tr/xhtml1/dtd/xhtml1frameset.dtd>
¿Qué tipo de doctype deberíamos elegir?
La situación ideal es, por supuesto, un DTD estricto, pero para la mayoría de los diseñadores que somos nuevos en los estándares web, Transition DTD (XHTML 1.0 Transitional) es actualmente una opción ideal (incluido este sitio, que también utiliza DTD de transición). Debido a que este DTD también nos permite usar la identidad, los elementos y los atributos de la capa de presentación, también es más fácil aprobar la verificación del código W3C. Nota: El logotipo y los atributos de la capa de presentación mencionada anteriormente se refieren a aquellas etiquetas que se usan exclusivamente para controlar el rendimiento, como las tablas para compensación tipográfica, marcas de color de fondo, etc. En XHTML, la identidad se usa para representar estructuras, no para implementar expresiones. Nuestra transición es, en última instancia, separar los datos y representaciones.
Por ejemplo: un modelo desnudo cambia de ropa. Los modelos son como datos, y la ropa se manifiesta en forma, y las modelos y la ropa están separadas, por lo que puede cambiar la ropa a voluntad. Resulta que en HTML4, los datos y el rendimiento se mezclan, y es muy difícil cambiar el formulario de expresión al mismo tiempo. Jaja, es un poco abstracto, y necesitamos comprender gradualmente este concepto durante el proceso de solicitud.
Reponer
Las declaraciones de doctype deben colocarse en la parte superior de cada documento XHTML, sobre todo el código e identidades.
4. Así es como el funcionario define el público DOCTYPE HTML! Doctype
--------------------------------------------------------------------------------
Especifica la definición de tipo de documento (DTD) que sigue el documento HTML.
¿Nuevo en Microsoft? Internet Explorer 6. Puede usar esta declaración para cambiar Internet Explorer 6 y luego al modo de compatibilidad estándar.
gramática
Registro de disponibilidad de elementos de nivel superior HTML // organización // escribe etiquetas // URL de lenguaje de definición
Valores posibles
Elemento de nivel superior: especifica el tipo de elemento de nivel superior declarado en DTD. Esto corresponde al tipo de documento SGML declarado. HTML predeterminado. Html.
Disponibilidad: Especifica si el identificador público oficial (FPI) es un recurso de objetos o del sistema de acceso público. Predeterminado público. Objeto de acceso público. Recursos del sistema, como archivos locales o URL.
Registro: Especifique si la organización está registrada por la Organización Internacional de Estandarización (ISO). + Predeterminado. Nombre de la organización registrado. - Nombre de la organización no registrado. El Grupo de Tarea de Ingeniería de Internet (IETF) y la Asociación World Wide Web (W3C) no son organizaciones ISO registradas.
Organización: Especifica el nombre del grupo u organización que indica la creación y mantenimiento del DTD a la que se hace referencia por la Declaración de Doctype, a saber, Ownderid. Ietf ietf. W3C W3C.
Tipo: Especifica la clase de texto público, es decir, el tipo de objeto referenciado. DTD predeterminado. Dtd.
Etiqueta: Especifica una descripción del texto público, es decir, un nombre descriptivo único para el texto público citado. El número de versión se puede incluir más adelante. HTML predeterminado. Html.
Definición: Especifique la definición del tipo de documento. Frameset Frameset Documentation. StricT, excluye todos los atributos y elementos representativos que los expertos en W3C quieren eliminar gradualmente, porque las hojas de estilo ya son perfectas. Transitional contiene todos los contenidos excepto el elemento Frameset.
Idioma: especifica un lenguaje de texto público, es decir, un sistema de codificación de lenguaje natural utilizado para crear el objeto referenciado. La definición del idioma se ha escrito como código de idioma ISO 639 (Capital dos letras). En predeterminado. Inglés.
URL: Especifica la ubicación del objeto referenciado.
Comentario
Esta declaración debe aparecer al comienzo del documento, antes de la etiqueta HTML.
! El elemento DocType no necesita cerrar la etiqueta.
¿Este elemento está disponible en HTML para Microsoft? Internet Explorer 3.0.
Puede usar esta declaración para cambiar al modo de compatibilidad estándar estricto en Internet Explorer 6 y posterior. Para activar este interruptor, incluya la declaración de! Doctype en la parte superior de su documento, especificando una etiqueta legal en la declaración y, en algunos casos, también se requieren una definición y/o URL.
Nota En el modo de compatibilidad estándar, no se puede garantizar la compatibilidad con otras versiones de Internet Explorer. Cuando se enciende el modo de compatibilidad estándar, el comportamiento de representación del documento puede ser diferente al de una versión futura de Internet Explorer. Si el contenido se fija originalmente (como se quema en un CD), este modo no debe usarse.
Ejemplo
El siguiente ejemplo demuestra cómo usar las declaraciones de DOCTYPE especifican el DTD al que cumple el documento y cambia de Internet Explorer 6 y luego al modo de compatibilidad estándar. Las declaraciones en los siguientes ejemplos especifican el cumplimiento HTML 4.0 DTD. La segunda declaración especifica estricta. La primera declaración no se especifica. Ambas declaraciones cambiarán Internet Explorer 6 y luego al modo de compatibilidad estándar.
<! Doctype html público -// w3c // dtd html 4.0 // en>
<! Doctype html público -// w3c // dtd html 4.0 Strict // en>
Las declaraciones en los siguientes ejemplos especifican el cumplimiento de DTD con TransitionAlHTML 4.0. La segunda declaración especifica la URL de DTD. La primera declaración no se especifica. La segunda declaración cambiará Internet Explorer 6 y luego al modo de compatibilidad estándar. La primera declaración no lo hará.
<! Doctype html público -// w3c // dtd html 4.0 transitional // en>
<! Doctype html público -// w3c // dtd html 4.0 transición // es
http://www.w3.org/tr/html4/loose.dtd>