0Pricing
HTML Academy · Aula

Textarea para entrada de várias linhas

Colete texto de várias linhas com o elemento textarea.

Textarea para entrada de várias linhas é uma aula grátis de HTML Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de HTML Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de HTML Academy inclui 4 aulas no total.

O elemento textarea

O elemento <textarea> aceita entrada de texto em várias linhas:

<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 e cols

rows e cols definem o tamanho inicial visível:

<!-- 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;">

Definindo o conteúdo padrão

O texto padrão fica entre as tags de abertura e fechamento:

<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 -->

Redimensionamento com CSS

Controle o redimensionamento pelo usuário com a propriedade resize do CSS:

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;
}

Área de texto com crescimento automático

Faça uma área de texto crescer conforme o usuário digita usando 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 e minlength

Limite o comprimento do texto em uma área de texto:

<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

O atributo spellcheck controla a verificação ortográfica:

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

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

Atributo wrap

O atributo wrap controla como a quebra de linhas é enviada:

<!-- 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>

somente leitura e desativado

Torne a área de texto não editável:

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

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

Acessibilidade das áreas de texto

Observações de acessibilidade para áreas de texto:

  • Associe sempre um <label> usando for/id
  • Use aria-describedby para vincular um texto de ajuda ou contadores de caracteres
  • Comunique alterações no limite de caracteres aos leitores de tela usando regiões dinâmicas
<label for="comment">Comment</label>
<textarea id="comment" aria-describedby="comment-hint"></textarea>
<p id="comment-hint">Maximum 200 characters.</p>

Estilização de áreas de texto

Estilização comum de áreas de texto:

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);
}

Verificação rápida

Como definir texto pré-preenchido em uma área de texto?

Recapitulação: áreas de texto

Essenciais das áreas de texto:

  • Entrada de texto em várias linhas com uma tag de fechamento
  • Conteúdo padrão entre as tags de abertura e fechamento (não um atributo value)
  • rows e cols definem o tamanho inicial; prefira CSS
  • maxlength e minlength controlam o comprimento
  • resize: vertical no CSS para controlar o redimensionamento
  • Crescimento automático: defina height: scrollHeight no evento de entrada

Perguntas Frequentes

A aula “Textarea para entrada de várias linhas” é grátis?

Sim — o texto completo de “Textarea para entrada de várias linhas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de HTML Academy, atualize para CoddyKit PRO. O curso de HTML Academy inclui 4 aulas no total.

O que vou aprender em “Textarea para entrada de várias linhas”?

Colete texto de várias linhas com o elemento textarea. Você pratica HTML Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar HTML Academy?

Nenhuma experiência prévia é necessária. HTML Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Textarea para entrada de várias linhas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de HTML Academy?

Sim. Cada aula de HTML Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Menus pendentes select e option
  2. Textarea para entrada de várias linhas
  3. Grupos de caixas de seleção e botões de opção
  4. Datalist para preenchimento automático
← Voltar para HTML Academy