Como faço para vincular a parte de uma página? (cerquilha?)


210

Como você vincula (com <a>) para que o navegador vá para determinadas subposições na página de destino e não para o topo?

Respostas:


275

Se houver uma <a name="foo">tag ou qualquer tag com id(por exemplo, <div id="foo">), você poderá simplesmente anexar #fooao URL. Caso contrário, você não poderá vincular arbitrariamente a partes de uma página.

Aqui está um exemplo completo: <a href="http://example.com/page.html#foo">Jump to #foo on page.html</a>

Vinculando conteúdo no mesmo exemplo de página: <a href="#foo">Jump to #foo on same page</a>


60
Apenas uma observação: no HTML5, não há mais nameatributo para - <a>elementos: o atributo name no elemento a é obsoleto. Considere colocar um atributo id no contêiner mais próximo.
usar o seguinte comando

então você usa o exemplo completo ou o mesmo exemplo de página? o exemplo completo não é a mesma coisa?
Akantoword

2
se tivéssemos uma página tranqüila com url como: domain.com/#home?page=1como usar um id no href?
iraj jelodari

1
@irajjelodari Você colocaria o hash no final:domain.com/?page=1#home
tomsmeding 15/11

Eu tive que usar 2 hashtags no url como: example.com/#RouteName?page=1#ID. um para roteamento e outro para navegação dentro da página atual. Finalmente, utilizado html5 modo de URL, a fim de remover percurso hashtags;) @tomsmeding
iraj jelodari

41

Você usa uma âncora e um hash. Por exemplo:

Alvo do link:

 <a name="name_of_target">Content</a>

Link para o destino:

 <a href="#name_of_target">Link Text</a>

Ou, se vincular a partir de uma página diferente:

 <a href="http://path/to/page/#name_of_target">Link Text</a>

8
O broser também irá pular para qualquer elemento com o ID name_of_target. Você não precisa usar uma <a>tag como destino. Então, outro alvo poderia ser <h3 id='name_of_target'>Content</h3>.
Cyrille

8
Observe que agora está obsoleto no HTML5.
Tim

32

Basta anexar um hash com um ID de um elemento ao URL. Por exemplo

<div id="about"></div>

e

http://mysite.com/#about

Portanto, o link seria semelhante a:

<a href="http://mysite.com/#about">About</a>

ou apenas

<a href="#about">About</a>

21

Aqui está como:

<a href="#go_middle">Go Middle</a>

<div id="go_middle">Hello There</div>

2
Você o que? Você tem um fechamento </a>após uma abertura <div ...>- não tem muita certeza do que está tentando fazer aqui.
Dominic Rodger

1
copiei minha linha de link e colei abaixo e esqueci de fechar a div. Obrigado de qualquer forma.
Sarfraz 14/05

10

Você tem duas opções:

Você pode colocar uma âncora no seu documento da seguinte maneira:

<a name="ref"></a>

Ou então, você fornece um ID para qualquer elemento HTML:

<h1 id="ref">Heading</h1>

Em seguida, basta anexar o hash #refao URL do seu link para ir para a referência desejada. Exemplo:

<a href="document.html#ref">Jump to ref in document.html</a>

6

Em 12 de março de 2020, um WICG para fragmentos de texto foi adicionado ao rascunho e agora você pode vincular o texto a uma página como se estivesse procurando por ele, adicionando o seguinte ao hash

#:~:text=<Text To Link to>

Exemplo de trabalho em Chrome Version 81.0.4044.138 :

Clique neste link Deve recarregar a página e destacar o texto do link

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.