W3docs

Etiqueta HTML <plaintext>

El contenido de la etiqueta <plaintext> se muestra como texto ordinario sin formato. Descripción y ejemplos de uso.

La etiqueta <plaintext> indica al navegador que muestre todo lo que le sigue como texto ordinario, sin ningún formato HTML. Cuando el analizador encuentra esta etiqueta, cambia al modo de texto sin formato y trata todo el contenido posterior del documento como texto plano, ignorando cada etiqueta que venga después.

Peligro

Obsoleta — nunca uses <plaintext>. Ha estado en desuso desde HTML2 y no forma parte de ningún estándar HTML moderno. Los navegadores aún la procesan solo por compatibilidad con versiones anteriores, y su comportamiento es irreversiblemente destructivo (ver a continuación). Para mostrar texto literal, usa <pre> y/o <code> en su lugar.

Por qué <plaintext> es irreversiblemente peligroso

El hecho crítico sobre <plaintext> es que no tiene etiqueta de cierre. No existe un </plaintext> que el navegador reconozca. Una vez que el analizador entra en <plaintext>, consume el resto del documento como texto literal — incluido cualquier marcado que le siga, hasta el final del archivo:

  • Todo lo que aparece después de <plaintext> se muestra como texto sin formato, por lo que cualquier HTML real que hayas escrito después (párrafos, scripts, estilos) se exhibe como código fuente en lugar de renderizarse.
  • Las etiquetas de cierre </body> y </html> también son absorbidas como texto, de modo que el documento nunca se cierra correctamente.
  • No es posible "desactivarlo". No hay forma de salir del modo de texto plano una vez iniciado, razón por la cual un solo <plaintext> puede romper una página entera.

Por estas razones, <plaintext> debe tratarse como una reliquia que reconocer en código antiguo, no como una herramienta a utilizar.

Peligro

Si <plaintext> fuera el primer elemento de la página, toda la respuesta del documento se trataría como texto plano. En esa situación, servir el archivo con el tipo MIME text/plain es el enfoque correcto — no esta etiqueta.

Qué usar en su lugar

Para mostrar de forma segura texto literal o código, combina <pre> (que conserva los espacios en blanco y los saltos de línea) con <code> (que marca el texto como código), y escapa los caracteres con significado especial en HTML: escribe &lt; para <, &gt; para >, y &amp; para &. El escape es lo que hace que los corchetes angulares se rendericen como texto en lugar de interpretarse como etiquetas.

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>The code below is shown as literal text:</p>
    <pre><code>&lt;h1&gt;Main title of the document&lt;/h1&gt;
&lt;p&gt;First paragraph of the text&lt;/p&gt;
&lt;h2&gt;Subheading&lt;/h2&gt;</code></pre>
  </body>
</html>

A diferencia de <plaintext>, <pre> tiene una etiqueta de cierre correcta (</pre>), por lo que la región de texto literal termina exactamente donde tú quieres y el resto de la página se renderiza con normalidad. También puedes aplicar una fuente de ancho fijo a cualquier elemento HTML con la propiedad CSS font-family y el valor genérico monospace.

Como referencia histórica, la etiqueta <xmp> es otra forma obsoleta de mostrar texto literal; al igual que <plaintext>, no debe usarse. Consulta la lista completa de etiquetas HTML obsoletas que debes evitar.

Sintaxis

La etiqueta <plaintext> no es un elemento vacío, pero su etiqueta de cierre está prohibida — no existe </plaintext>. El analizador HTML deja de interpretar el marcado en el momento en que encuentra la etiqueta de apertura, consumiendo el resto del documento como texto plano.

Ejemplo de la etiqueta HTML <plaintext>:

<!DOCTYPE html>
<html>
 <head>
    <title>Title of the document</title>
 </head>
  <body>
    <p>The tag content looks like this:</p>
    <plaintext>
    <h1>Main title of the document</h1>
    <p>First paragraph of the text</p>
    <h2>Subheading</h2>
  </body>
</html>

Resultado

ejemplo de la etiqueta plaintext

Atributos

La etiqueta <plaintext> admite los Atributos Globales.

Práctica

Práctica
¿Qué ocurre cuando el navegador encuentra la etiqueta <plaintext>?
¿Qué ocurre cuando el navegador encuentra la etiqueta <plaintext>?
Was this page helpful?