Sublinhado de Texto Elegante

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, aprenderemos como criar um sublinhado de texto elegante que não corta os descendentes usando CSS. Ao usar uma combinação de text-shadow e background-image com linear-gradient, podemos criar um gradiente que atuará como o sublinhado real, garantindo que o texto permaneça selecionável. Esta técnica oferece uma alternativa visualmente mais atraente ao text-decoration: underline.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 100%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Sublinhado de Texto Elegante

index.html e style.css já foram fornecidos na VM.

Para evitar que os descendentes cortem o sublinhado, use text-shadow com quatro valores para criar uma sombra espessa que cubra a linha onde os descendentes encontram o sublinhado. Certifique-se de que a cor do text-shadow corresponda à cor do background e ajuste os valores em px para fontes maiores. Crie o sublinhado real usando background-image com um linear-gradient() e currentColor. Defina background-position, background-repeat e background-size para colocar o gradiente na posição correta. Use o seletor de pseudo-classe ::selection para garantir que a sombra do texto não interfira na seleção do texto. Observe que este efeito é implementado nativamente como text-decoration-skip-ink: auto, mas tem menos controle sobre o sublinhado.

Aqui está um exemplo de trecho de código:

<div class="container">
  <p class="pretty-text-underline">
    Pretty text underline without clipping descenders.
  </p>
</div>
.container {
  background: #f5f6f9;
  color: #333;
  padding: 8px 0;
}

.pretty-text-underline {
  display: inline;
  text-shadow:
    1px 1px #f5f6f9,
    -1px 1px #f5f6f9,
    -1px -1px #f5f6f9,
    1px -1px #f5f6f9;
  background-image: linear-gradient(90deg, currentColor 100%, transparent 100%);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 100% 1px;
}

.pretty-text-underline::selection {
  background-color: rgba(0, 150, 255, 0.3);
  text-shadow: none;
}

Por favor, clique em 'Go Live' no canto inferior direito para executar o serviço web na porta 8080. Em seguida, você pode atualizar a aba Web 8080 para visualizar a página web.

Resumo

Parabéns! Você concluiu o laboratório de Sublinhado de Texto Elegante. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.