Menu

Tag Anchor HTML: Cara Membuat Link dengan a href

Cara elemen <a> membuat link: atribut href, URL absolut dan relatif, melompat ke bagian halaman dengan #id, link unduhan, link kartu, dan kesalahan yang membuat link rusak.

Halaman ini dilengkapi editor yang bisa dijalankan. Edit, jalankan, dan lihat output-nya seketika.

Link adalah elemen anchor, <a>, dengan atribut href. href adalah tujuan link; konten di antara tag-nya adalah yang diklik pembaca.

Browser menampilkan link dengan warna biru dan bergaris bawah, lalu mengubah kursor menjadi tangan. Baris terakhir menunjukkan kenapa href penting: tanpanya, <a> hanyalah teks biasa. Elemen itu tidak bisa difokus, tidak bisa diklik, dan tidak diberi gaya seperti link.

URL absolut dan relatif

Nilai href menentukan ke mana link pergi. Bentuk-bentuk utamanya:

hrefMenuju
https://example.com/pageURL absolut: tepat ke alamat itu
/aboutabout di root situs saat ini
about.htmlabout.html di folder yang sama dengan halaman saat ini
../index.htmlindex.html satu folder di atasnya
#pricingElemen dengan id="pricing" di halaman ini
/help#faqBagian faq di halaman lain di situs ini
mailto:hi@example.comEmail baru di aplikasi email pembaca
tel:+15551234567Panggilan telepon, di perangkat yang bisa melakukannya

Pakai URL absolut untuk situs lain dan path relatif dari root (/about) di dalam situsmu sendiri: path seperti itu tetap berfungsi saat halaman yang memuatnya pindah ke folder lain.

<a href="https://www.wikipedia.org/">Wikipedia</a>  <!-- another site -->
<a href="/pricing">Pricing</a>                     <!-- same site, from the root -->
<a href="www.wikipedia.org">Broken</a>              <!-- relative path, not a site! -->

Baris terakhir adalah bug link yang paling umum. Tanpa https://, browser membaca www.wikipedia.org sebagai nama file di folder saat ini.

Link email dan telepon punya halamannya sendiri: link email HTML.

Elemen apa pun yang punya id bisa menjadi tujuan. Buat link ke sana dengan # diikuti id-nya, dan browser akan menggulir ke elemen itu. Klik link-link di pratinjau:

Beberapa detail:

  • id harus sama persis, termasuk huruf besar kecilnya. href="#FAQ" tidak menemukan id="faq".
  • href="#top" dan href="#" menggulir ke bagian atas halaman walaupun tidak ada elemen dengan id top.
  • Selector :target memberi gaya pada bagian yang sedang ditunjuk URL. Di halaman sungguhan, bagian itu akan disorot; pratinjau menggulir tanpa mengubah alamatnya, jadi sorotannya tidak terlihat di sana.
  • Untuk membuat link ke bagian di halaman lain, tambahkan tanda pagar ke URL halaman itu: <a href="/docs/html/table#caption">.

Header yang sticky atau fixed menutupi bagian atas section yang kamu tuju. scroll-margin-top di elemen tujuan menyisakan ruang untuknya, dan scroll-behavior: smooth menganimasikan lompatannya:

Hapus baris scroll-margin-top lalu klik Two lagi: heading-nya jadi tersembunyi di balik header gelap.

Atribut download meminta browser menyimpan file, bukan membukanya. Nilainya, kalau kamu memberinya, adalah nama file yang disarankan:

<a href="/files/report-2026.pdf" download>Download the report</a>
<a href="/files/r-8f2a.pdf" download="report.pdf">Download (saved as report.pdf)</a>

download hanya berfungsi untuk file di origin yang sama dengan halaman (skema, host, dan port yang sama) dan untuk URL data: dan blob:. Untuk file di origin lain, bahkan subdomain, browser mengabaikannya dan membuka file itu seperti link biasa. Server bisa memaksa unduhan untuk file apa pun dengan header Content-Disposition: attachment.

Pengguna screen reader sering menelusuri halaman dari link ke link, hanya mendengar teks link-nya. "Klik di sini" dan "Baca selengkapnya" tidak memberi tahu mereka apa pun.

<!-- Vague: -->
To see our prices, <a href="/pricing">click here</a>.

<!-- Clear: -->
See the <a href="/pricing">pricing plans</a>.

Atribut title menampilkan tooltip saat kursor di atasnya, tapi tidak ditampilkan di layar sentuh atau ke sebagian besar pengguna keyboard, jadi jangan taruh apa pun yang penting di dalamnya.

<a> bisa membungkus konten blok: heading, gambar, dan paragraf bisa semuanya menjadi satu link. Begitulah cara membuat kartu yang bisa diklik.

display: block membuat seluruh kotak bisa diklik, bukan hanya teksnya. Buat isi kartunya singkat, karena screen reader membaca semuanya sebagai nama link. Dan jangan pernah menaruh link lain atau tombol di dalamnya: elemen interaktif tidak boleh bersarang di dalam <a>.

Atribut lain dari tag a

AtributFungsinya
hrefTujuannya. Tanpa atribut ini, <a> bukan link
targetDi mana link dibuka; target="_blank" membuka tab baru, lihat membuka link di tab baru
relHubungan dengan tujuannya: noopener, nofollow, sponsored, ugc
downloadSimpan file, bukan membukanya
hreflangBahasa halaman yang dituju, sebagai petunjuk
referrerpolicySeberapa banyak URL saat ini yang dikirim sebagai referrer

Kesalahan umum

  • Tidak ada skema di URL eksternal. href="www.site.com" adalah path relatif. Tulis https://.
  • <a href="#"> untuk aksi JavaScript. Link itu menggulir ke atas dan menambahkan # ke URL. Kalau mengkliknya tidak menuju ke mana pun, pakai <button>.
  • Link di dalam link, atau tombol di dalam link. Keduanya HTML yang tidak valid: <a> kedua membuat parser menutup yang pertama lebih awal, dan klik pada tombol di dalam link tidak punya tujuan yang jelas.
  • Spasi di nama file. href="my file.html" biasanya berfungsi karena browser meng-encode spasinya, tapi my-file.html menghindari masalah itu sama sekali.
  • "Klik di sini" sebagai teks link. Jelaskan tujuannya.
  • Huruf besar kecil id yang tidak cocok. #Pricing dan id="pricing" berbeda.

Pertanyaan yang sering diajukan

Bagaimana cara membuat link di HTML?

Pakai elemen anchor: <a href="https://example.com">Example</a>. href adalah tujuannya dan teks di antara tag-nya adalah yang diklik pembaca.

href singkatan dari apa?

Hypertext reference. Atribut ini berisi URL yang dituju link: alamat lengkap, path di situs yang sama seperti /about, bagian halaman seperti #pricing, atau skema seperti mailto:.

Bagaimana cara membuat link ke bagian tertentu di halaman?

Beri elemen tujuan sebuah id, lalu buat link ke sana dengan tanda pagar: <h2 id="faq">FAQ</h2> dan <a href="#faq">FAQ</a>. Dari halaman lain, tambahkan tanda pagar ke URL-nya: <a href="/help#faq">.

Kenapa link-ku menuju halaman yang salah saat aku menulis www?

Kalau tidak ada https:// di depannya, browser menganggap www.example.com sebagai path relatif di situsmu sendiri, jadi link-nya menuju sesuatu seperti yoursite.com/www.example.com. Selalu tulis skemanya untuk link eksternal: href="https://www.example.com".

Bolehkah tag a berisi div?

Boleh. Di HTML5, <a> bisa membungkus konten blok seperti <div>, heading, dan paragraf, begitulah cara membuat link satu kartu penuh. Tag ini tidak boleh berisi link lain, tombol, atau elemen interaktif lainnya.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai