0Pricing
HTML Academy · Lección

Textarea para entrada multilínea

Recopile texto multilínea con el elemento textarea

Textarea para entrada multilínea es una lección gratuita de HTML Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de HTML Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de HTML Academy incluye 4 lecciones en total.

El elemento textarea

El elemento <textarea> acepta texto introducido en varias líneas:

<label for="message">Message</label>
<textarea
  id="message"
  name="message"
  rows="5"
  cols="40"
  placeholder="Enter your message here..."
></textarea>
<!-- textarea is NOT a void element -- it has a closing tag -->
<!-- Default content goes between the tags, not in a value attribute -->

Atributos rows y cols

rows y cols establecen el tamaño visible inicial:

<!-- rows: height in lines (default: 2) -->
<!-- cols: width in characters (default: 20) -->
<textarea rows="6" cols="50">...</textarea>

<!-- Better: use CSS for sizing -->
<textarea style="width: 100%; height: 150px; resize: vertical;">

Establecer contenido predeterminado

El texto predeterminado se coloca entre las etiquetas de apertura y cierre:

<textarea name="bio">
Hello! I am a developer who loves HTML.
</textarea>
<!-- Note: whitespace inside textarea IS rendered -->
<!-- The newline after the opening tag will appear in the textarea -->
<!-- Avoid whitespace between tags if you don't want it -->

resize con CSS

Controle el redimensionamiento por parte del usuario con la propiedad CSS resize:

textarea {
  resize: vertical;    /* allow only vertical resize */
  /* resize: horizontal -- only horizontal */
  /* resize: both      -- both directions (default) */
  /* resize: none      -- prevent resizing */

  width: 100%;
  min-height: 120px;
  max-height: 400px;
  padding: 0.5rem;
  box-sizing: border-box;
}

Textarea autoexpandible

Haga que un textarea crezca a medida que el usuario escribe con JavaScript:

<textarea id="auto-grow" rows="3" style="overflow: hidden;"></textarea>

<script>
const ta = document.getElementById('auto-grow');
ta.addEventListener('input', () => {
  ta.style.height = 'auto';
  ta.style.height = ta.scrollHeight + 'px';
});
</script>

maxlength y minlength

Limite la longitud del texto en un textarea:

<label for="bio">Bio (max 500 characters)</label>
<textarea
  id="bio"
  name="bio"
  maxlength="500"
  minlength="10"
  rows="4"
></textarea>

<!-- Live character count: -->
<small id="char-count">0/500</small>
<script>
document.getElementById('bio').addEventListener('input', function() {
  document.getElementById('char-count').textContent =
    this.value.length + '/500';
});
</script>

Atributo spellcheck

El atributo spellcheck controla la corrección ortográfica:

<!-- Enable (default for textarea) -->
<textarea spellcheck="true">...</textarea>

<!-- Disable (for code editors, technical input) -->
<textarea spellcheck="false">...</textarea>

Atributo wrap

El atributo wrap controla cómo se envuelve el texto al enviarlo:

<!-- wrap="soft" (default): text wraps visually but newlines not added -->
<textarea wrap="soft">...</textarea>

<!-- wrap="hard": newlines inserted at wrap points when submitted -->
<!-- Requires cols to be set -->
<textarea wrap="hard" cols="40">...</textarea>

readonly y disabled

Haga que un textarea no se pueda editar:

<!-- readonly: visible, selectable, submitted -->
<textarea readonly>This is read-only text.</textarea>

<!-- disabled: cannot interact, not submitted -->
<textarea disabled>Disabled textarea.</textarea>

Accesibilidad de textarea

Consideraciones de accesibilidad para textareas:

  • Asocie siempre un <label> mediante for/id
  • Use aria-describedby para vincular el texto de ayuda o los contadores de caracteres
  • Anuncie los cambios en el límite de caracteres a los lectores de pantalla mediante regiones dinámicas
<label for="comment">Comment</label>
<textarea id="comment" aria-describedby="comment-hint"></textarea>
<p id="comment-hint">Maximum 200 characters.</p>

Estilos de textarea

Estilos habituales para un textarea:

textarea {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ddd;
  border-radius: 0.375rem;
  font-family: inherit;    /* match surrounding font */
  font-size: 1rem;
  line-height: 1.5;
  resize: vertical;
  min-height: 100px;
  box-sizing: border-box;
  transition: border-color 0.2s;
}
textarea:focus {
  outline: none;
  border-color: #0070f3;
  box-shadow: 0 0 0 3px rgba(0,112,243,0.2);
}

Comprobación rápida

¿Cómo se establece texto pre rellenado en un textarea?

Resumen: textarea

Aspectos esenciales de textarea:

  • Entrada de texto en varias líneas con una etiqueta de cierre
  • El contenido predeterminado se coloca entre las etiquetas de apertura y cierre (no en el atributo value)
  • rows y cols establecen el tamaño inicial; prefiera CSS
  • maxlength y minlength controlan la longitud
  • resize: vertical en CSS para controlar el redimensionamiento
  • Para expandirlo automáticamente, establezca height: scrollHeight en el evento input

Preguntas frecuentes

¿La lección «Textarea para entrada multilínea» es gratis?

Sí — el texto completo de «Textarea para entrada multilínea» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de HTML Academy, actualiza a CoddyKit PRO. El curso de HTML Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Textarea para entrada multilínea»?

Recopile texto multilínea con el elemento textarea Practicas HTML Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar HTML Academy?

No se requiere experiencia previa. HTML Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Textarea para entrada multilínea»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de HTML Academy?

Sí. Cada lección de HTML Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Menús desplegables: select y option
  2. Textarea para entrada multilínea
  3. Grupos de casillas y botones de opción
  4. Datalist para autocompletado
← Volver a HTML Academy