0Pricing
HTML Academy · Aula

Ligações para secções e identificadores de fragmentos

Ir diretamente para secções da página utilizando atributos id e ligações com hash.

Ligações para secções e identificadores de fragmentos é uma aula grátis de HTML Academy no CoddyKit. Esta é a aula 4 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 que é um identificador de fragmento?

Um identificador de fragmento é a parte de uma URL depois do símbolo #:

https://example.com/page#section-3
                          │
                          └─ Fragment: "section-3"

<!-- The browser: -->
<!-- 1. Loads the page -->
<!-- 2. Scrolls to the element with id="section-3" -->

Criando destinos de âncora com id

Para criar um link para uma seção, atribua a ela um id:

<!-- The target: give any element an id -->
<h2 id="installation">Installation</h2>
<h2 id="configuration">Configuration</h2>
<h2 id="faq">Frequently Asked Questions</h2>

<!-- The link: use # + id value -->
<a href="#installation">Jump to Installation</a>
<a href="#faq">Go to FAQ</a>

Criando um link a partir de outra página

Você pode criar um link para uma seção de outra página:

<!-- From a different page -->
<a href="/docs/guide#installation">Installation Guide</a>
<!-- Loads /docs/guide and scrolls to #installation -->

<!-- Absolute URL to a section -->
<a href="https://example.com/docs#api">API Documentation</a>

Regras de nomenclatura de id

Regras para valores válidos de id:

  • Deve ser exclusivo na página — nenhum par de elementos pode compartilhar um id
  • Não pode começar com um número em CSS, embora isso seja válido em HTML
  • Não use espaços — use hífens: my-section
  • Diferencia maiúsculas de minúsculas: #FAQ e #faq são diferentes

Padrão de sumário

Links de fragmento permitem criar sumários na própria página:

<nav aria-label="Table of Contents">
  <ol>
    <li><a href="#intro">Introduction</a></li>
    <li><a href="#setup">Setup</a></li>
    <li><a href="#usage">Usage</a></li>
    <li><a href="#api">API Reference</a></li>
  </ol>
</nav>

<h2 id="intro">Introduction</h2>
<h2 id="setup">Setup</h2>

Rolagem suave com CSS

Adicione um comportamento de rolagem suave à navegação por fragmentos:

/* Apply to the entire page */
html {
  scroll-behavior: smooth;
}

/* Or for specific containers */
.scrollable {
  scroll-behavior: smooth;
}

Espaçamento de rolagem para cabeçalhos fixos

Barras de navegação fixas se sobrepõem às seções até as quais você rolou. Corrija isso com scroll-margin-top:

/* If you have a 60px fixed header */
:target {
  scroll-margin-top: 70px;
}

/* Or set globally for all headings */
h2, h3, h4 {
  scroll-margin-top: 70px;
}
/* scroll-margin-top offsets where the browser scrolls to */

A pseudoclasse CSS :target

Estilize a seção atualmente indicada como destino com :target:

/* Highlight the targeted section */
:target {
  background-color: #fff3cd;
  outline: 2px solid #ffc107;
  padding: 1rem;
}

<!-- Result: when user clicks #installation, -->
<!-- the installation section gets highlighted -->

Link para voltar ao topo

Um padrão comum — link para voltar ao topo usando um fragmento:

<a href="#top" id="back-to-top">↑ Back to top</a>
<!-- Link to page top: either id="top" on body or use empty href # -->
<!-- Always give it meaningful text for accessibility -->

<!-- Position it fixed with CSS: -->
<!--
#back-to-top {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
}
-->

Fragmentos e histórico do navegador

A navegação por fragmentos adiciona entradas ao histórico do navegador:

  • Clicar em um link de fragmento adiciona uma entrada ao histórico
  • O botão Voltar do navegador retorna à posição de rolagem anterior
  • Esse é o comportamento normal — aplicativos de página única podem usar pushState para manipulá-lo

Âncoras nomeadas (legado)

Antes dos atributos id, <a name> era usado para âncoras — agora está obsoleto:

<!-- Old way (do not use): -->
<a name="section-1"></a>
<h2>Section 1</h2>

<!-- Modern way: -->
<h2 id="section-1">Section 1</h2>
<!-- Use id on the target element, not a separate anchor tag -->

Verificação rápida

Qual propriedade CSS impede que uma barra de navegação fixa cubra uma seção até a qual você rolou?

Recapitulação: identificadores de fragmento

Elementos essenciais dos links de fragmento:

  • #id em href rola até o elemento que tem esse id
  • Todo elemento de destino precisa de um atributo id exclusivo
  • Funciona tanto na mesma página quanto a partir de outras páginas
  • scroll-behavior: smooth para rolagem animada
  • scroll-margin-top para evitar a sobreposição de cabeçalhos fixos
  • A pseudoclasse :target para destacar a seção atual

Perguntas Frequentes

A aula “Ligações para secções e identificadores de fragmentos” é grátis?

Sim — o texto completo de “Ligações para secções e identificadores de fragmentos” é 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 “Ligações para secções e identificadores de fragmentos”?

Ir diretamente para secções da página utilizando atributos id e ligações com hash. 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 4 de 4.

Quanto tempo leva a aula “Ligações para secções e identificadores de fragmentos”?

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. O elemento anchor e o atributo href
  2. URLs absolutas vs relativas
  3. Abrir ligações em novos separadores e o atributo download
  4. Ligações para secções e identificadores de fragmentos
← Voltar para HTML Academy