Limitar texto em um layout web é uma prática comum para garantir que o conteúdo seja apresentado de forma clara e organizada

Limitar Texto com Media Queries, text-overflow e white-space no CSS

Compartilhe

Introdução

Limitar texto em um layout web é uma prática comum para garantir que o conteúdo seja apresentado de forma clara e organizada, especialmente em telas menores. O CSS oferece diversas ferramentas para controlar o comportamento do texto, e neste tutorial, vamos explorar como combinar media queries, text-overflow e white-space para alcançar esse objetivo.

As propriedades CSS text-overflow e white-space são ferramentas poderosas para controlar a exibição de texto em elementos HTML, mas é crucial entender suas limitações e quando usá-las para limitar texto conforme o número de caracteres de acordo com o tamanho da tela.

O que são Media Queries?

Media queries são uma parte fundamental do CSS que permite aplicar estilos diferentes a um documento HTML, dependendo das características do dispositivo no qual ele está sendo exibido. Elas são especialmente úteis para criar layouts responsivos, ajustando o design para diferentes tamanhos de tela.

Propriedades text-overflow e white-space

  • text-overflow: Define como o conteúdo que ultrapassa a área de exibição de um elemento deve ser tratado. Os valores mais comuns são:
    • clip: Corta o texto que não cabe.
    • ellipsis: Adiciona reticências (…) ao final do texto cortado.
  • white-space: Controla como os espaços em branco são tratados dentro de um elemento. Os valores mais importantes para este contexto são:
    • nowrap: Impede que as palavras sejam quebradas em linhas diferentes.

Combinando as ferramentas

Para limitar texto de forma responsiva, vamos combinar media queries com as propriedades text-overflow e white-space. O objetivo é criar um efeito em que o texto seja exibido por completo em telas maiores e seja truncado com reticências em telas menores.

Exemplo:

CSS

.texto-limitado {
  width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 768px) {
  .texto-limitado {
    width: 150px;
  }
}

Explicação:

  • .texto-limitado: Define um estilo para elementos com essa classe.
  • width: Define a largura máxima do elemento.
  • white-space: nowrap: Impede que as palavras sejam quebradas em linhas diferentes.
  • overflow: hidden: Esconde o conteúdo que ultrapassa as bordas do elemento.
  • text-overflow: ellipsis: Adiciona reticências ao final do texto cortado.
  • @media (max-width: 768px): Aplica os estilos dentro das chaves apenas para telas com largura máxima de 768 pixels.
  • width: 150px: Reduz a largura do elemento para telas menores, fazendo com que o texto seja truncado mais cedo.

Criando um Exemplo Completo

HTML

<!DOCTYPE html>
<html>
<head>
  <title>Limitando Texto</title>
  <style>
    .texto-limitado {
      /* Estilos como no exemplo anterior */
    }
  </style>
</head>
<body>
  <p class="texto-limitado">Este é um texto longo que será truncado em telas menores.</p>
</body>
</html>

Personalizando o resultado:

  • Ajustar a largura: Modifique o valor de width para controlar a quantidade de texto exibido.
  • Alterar o ponto de quebra: Ajuste o valor dentro das media queries para definir em qual largura o texto será truncado.
  • Adicionar mais linhas: Para limitar texto a mais de uma linha, você pode combinar line-clamp (uma propriedade ainda experimental em alguns navegadores) com -webkit-line-clamp e -moz-line-clamp.

O problema com essa implementção com Media Queries, text-overflow e white-space, é que não permite quebra de linha, ou seja o texto é truncado apenas na primeira linha, como o intuito abordado anteriormente é limitar texto e a quantidade de caracteres de acordo com o tamanho da tela do dispositivo, então, essa abordagem não suprirar essa nescessidade.

Limitando Texto com Media Queries, text-overflow e white-space no CSS

Considerações Adicionais

  • Acessibilidade: Certifique-se de que o texto truncado não comprometa a acessibilidade. Use atributos title ou aria-label para fornecer mais informações sobre o conteúdo completo.
  • Responsividade: Adapte os valores das media queries para diferentes tamanhos de tela, garantindo que o layout seja responsivo em todos os dispositivos.
  • Compatibilidade: Verifique a compatibilidade das propriedades CSS utilizadas em diferentes navegadores.

Conclusão

Embora Media Queries, text-overflow e white-space sejam ferramentas poderosas para controlar o layout e a exibição de texto, elas não são a solução ideal para limitar texto com o número exato de caracteres com base no tamanho da tela. Para um controle mais preciso e adaptável, é recomendado o uso de JavaScript ou bibliotecas especializadas.

Considerações adicionais:

  • Acessibilidade: Ao limitar o texto, certifique-se de que o conteúdo seja acessível, fornecendo informações alternativas para usuários de tecnologias assistivas.
  • Experiência do usuário: O limite de caracteres deve ser definido de forma a não prejudicar a compreensão do conteúdo.

Ao escolher a melhor abordagem, avalie as necessidades específicas do seu projeto e as ferramentas disponíveis.

Bom, é o que temos por hoje! No próximo tutorial iremos implementar com o -webkit-line-clamp para limitar o número de caracteres.

Recursos adicionais:

Gostaria de explorar algum outro aspecto desse tema?

Comentários

2 respostas para “Limitar Texto com Media Queries, text-overflow e white-space no CSS”

  1. […] Veja também: Limitando Texto com Media Queries, text-overflow e white-space no CSS […]

  2. […] Bom, é o que temos por hoje! No próximo tutorial iremos implementar com o media queries CSS […]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *