¿Hay algo malo con la escritura de partes de una página web en XHTML con un tipo de documento HTML?

StackOverflow https://stackoverflow.com/questions/1040969

  •  22-07-2019
  •  | 
  •  

Pregunta

Recientemente he comenzado a aprender HTML/CSS y he estado tratando de enseñar a mí mismo sonido de la web de prácticas de programación.Estoy familiarizado con XML, de modo que la codificación de las páginas web en XHTML fue lo suficientemente intuitivo y simplemente parecía un sonido cosa que hacer.Sin embargo, he estado leyendo artículos como este y ahora estoy ambivalente.

Mis preocupaciones con la codificación en HTML y XHTML se derivan de los siguientes:

  1. etiquetas img no necesita ser cerrado en HTML, y que tiene sentido para mí.Pero en XHTML, las etiquetas img requieren una estrecha etiqueta que parece una especie de funky.Yo creo que es simplemente extraño tener un par de abrir y cerrar las etiquetas con nada en el medio.
  2. p etiquetas (como en el párrafo) no necesita ser cerrado en HTML, y que es diferente para mí.Tiene sentido para separar un párrafo de abrir y cerrar las etiquetas como en XHTML.

Estos son sólo ejemplos básicos que se me ocurre en el momento, pero tengo la esperanza de que al menos muestran cómo dividir estoy entre HTML y XHTML.Así que aquí está mi pregunta:Está bien tirar en el código XHTML (cuando siento que ella apropiadamente aclara algo) cuando estoy a la codificación de una página web que debe ser en HTML (con un DTD de HTML)?Estoy seguro de que el sitio web sería el mismo, pero si la gente fuera a ver a mi fuente, pensaría yo se muy poco profesional coder?

Además, he tenido la suerte de a ciegas, buscando a través de tutoriales y guías a través de Google en el sonido de programación web prácticas y me preguntaba si la gente tenía algún consejo/recursos para compartir conmigo.Realmente quiero asegurarme de que estoy aprendiendo a hacer esto de la manera correcta.Realmente apreciaría.

Gracias por leer!

Editar:Wow, tales respuestas rápidas;ustedes son increíbles!Así que yo entiendo que los navegadores web va a ser muy indulgente cuando se trata de este tipo de cosas.Mi problema es entonces una cuestión de vanidad y de cómo otros profesionales se sienten acerca de cómo escribir una especie de mezcla de XHTML y HTML.Es estrictamente el código compatible con el camino a seguir?Yo, sinceramente, no quiero quedar como un idiota, jaja.

¿Fue útil?

Solución

etiquetas img no necesita ser cerrado en HTML, y que tiene sentido para mí.

No etiqueta tiene que estar cerrado.Todos elementos necesita cerrarse.

La mayoría de los elementos constan de una etiqueta de inicio, el contenido, y una etiqueta de cierre.

Desde un elemento de la imagen no puede tener contenido, el extremo de la etiqueta no es necesario.En HTML, los elementos que no pueden tener contenido ("elementos VACÍOS") tienen el fin etiquetas prohibido.

Pero en XHTML, las etiquetas img requieren una estrecha etiqueta que parece una especie de funky.

XHTML es una aplicación de XML en lugar de una aplicación SGML, XML y no tiene todas las características que SGML hace — incluyendo la capacidad para especificar que una etiqueta de cierre está prohibido.

Yo creo que es simplemente extraño tener un par de abrir y cerrar las etiquetas con nada en el medio.

XML se introduce un nuevo tipo de etiqueta — un auto-etiqueta de cierre (<foo />) que actúa como inicio y fin de la etiqueta combinada.

Si usted está escribiendo el HTML-XHTML (la cual debe ser si usted elige utilizar XHTML y desea apoyar a los navegadores que no soportan que el lenguaje — como Internet Explorer), entonces usted debe el uso de la sintaxis.(Prefiero seguir a HTML mí mismo)

p etiquetas (como en el párrafo) no necesita ser cerrado en HTML, y que es diferente para mí.

Muchos de los elementos en HTML opcional etiquetas de cierre.Esto permite que el extremo de la etiqueta que se omite cuando se puede ser implícita.

Por ejemplo:

<p>Hello, world
<p>A second paragraph

Desde un elemento p no puede contener otro elemento p, puede implicar (con 100% de fiabilidad) que a partir de un nuevo párrafo, se cerrará la anterior.

Dicho esto, que son opcional, no está prohibido.Usted puede escribir HTML 4.01 con el explícito fin etiquetas para cualquier elemento que no es intrínsecamente vacío.

Está bien tirar en el código XHTML (cuando siento que de forma adecuada aclara algo) cuando estoy de codificación abre una página web que debe ser en HTML (con un DTD de HTML)?Estoy seguro de que el sitio web sería el mismo, pero si las personas fueron a buscar a mi fuente, tendría que pensar que me fueron muy profesional de programador?

Sería poco profesional.

Dicho esto, hay sólo tres veces cuando XHTML sintaxis no es conforme a la sintaxis HTML:

Los elementos vacíos — como <img> y <br> necesita cerrarse de manera explícita en XHTML ... pero usted dijo que no le gustaba que la sintaxis.

Scripts y estilos — es necesario utilizar referencias de caracteres o CDATA marcadores de si el uso de ciertos caracteres en su incrustado JS y CSS en XHTML, pero estos elementos están marcados como CDATA en el DTD de HTML, por lo que este sería malo que hay ... pero que no se debe usar scripts incrustados o estilos de todos modos.

Los espacios de nombres — pero no hay tiempo cuando se utiliza un espacio de nombres XML en el medio de un documento HTML aproximándose a aclarar algo.

Otros consejos

HTML 5 permite el uso de la sintaxis XHTML.

Ahora puede comenzar a usar un doctype HTML 5 que empujará a todos los navegadores al modo estándar, pero tenga en cuenta que las nuevas características de HTML 5 solo son compatibles con algunos navegadores.

Del Grupo de trabajo de tecnología de aplicación de hipertexto web :

  

¿Debo cerrar elementos vacíos con / > o > ;?

     

Los elementos nulos en HTML (por ejemplo, los elementos br, img y input) no requieren una barra inclinada final. p.ej. En lugar de escribir <br />, solo necesita escribir <br>. Esto es lo mismo que en HTML 4.01. Sin embargo, debido a los intentos generalizados de usar XHTML 1.0, hay un número significativo de páginas que utilizan la barra diagonal final. Debido a esto, la sintaxis de barra diagonal final se ha permitido en elementos vacíos en HTML para facilitar la migración de XHTML 1.0 a HTML5.

El doctype HTML 5 maravillosamente simple se ve así:

<!DOCTYPE html>

Entonces sí, puede escribir HTML que cumpla con los estándares con etiquetas de cierre automático y se validará con un validador HTML 5 . La industria ha optado ampliamente por adoptar HTML5 sobre XHTML2 y, en consecuencia, no recomendaría usar XHTML para ningún proyecto nuevo.


Editar: solo como un punto de aclaración, es seguro usar el doctype HTML 5 ahora, y también es seguro asumir que HTML 5 será ampliamente adoptado sobre XHTML 2 dado el soporte de la industria. Sin duda puede crear documentos HTML 5 ahora, sin embargo, muchas de las características de HTML5, como <canvas> (notablemente carente de soporte de MS dado que compite con Silverlight) no tienen soporte de navegador cruzado y están sujetas a cambios.

Está 'bien' en el sentido de que casi todos los navegadores lo renderizarán correctamente, pero solo porque están diseñados para manejar HTML / XHTML / XML / lo que sea que esté mal formado. Sin embargo, cualquier elemento que no coincida con el doctype declarado (en su caso, el DTD HTML) evitará que su código se valide y, técnicamente, está mal formado.

Por otro lado, la gran mayoría de los sitios web (incluso los que se procesan correctamente) no se validan, por lo que no es un gran problema. Me apegaría a XHTML (estricto); tenga en cuenta el comentario de jimr sobre las etiquetas de cierre automático (por ejemplo, <img src="foo" />).

No, no está bien. En teoría, al menos. Si escribe sintaxis XHTML en un documento HTML, no es válido. Es muy probable que los navegadores lo representen de la misma manera, pero aún no es válido. Además, lo único válido en XHTML e inválido en HTML es una etiqueta de cierre automático (<br />). Solo porque en HTML no es necesario que cierre las etiquetas, no significa que no pueda cerrarlas. Puede escribir marcas como esta:

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at enim sit amet urna placerat porttitor ut quis justo. Quisque posuere nisl ac libero dictum posuere. Suspendisse in magna neque. Donec et vestibulum sapien. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed at nulla dui.</p>

<img src="" alt="">

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at enim sit amet urna placerat porttitor ut quis justo.</p>

¿Ves? Es HTML válido y se ve bien.

Por cierto: lea esto .

<DOCTYPE> es un sobrante de SGML y solo debe aparecer una vez, en la parte superior del documento. Agregar otras declaraciones DOCTYPE dentro del documento sería una violación de HTML y XHTML, aunque la mayoría de los navegadores probablemente lo perdonarían.

Si debe usar ambos en una página, quizás colocar el documento anidado en un IFRAME sería más coherente con los estándares, ya que los IFRAME por definición contienen un contexto de ventana / documento separado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top