Secara kontak fisik seolah-olah dengan :focus
, namun CSS :target
mempunyai kemampuan lebih, yaitu sanggup mengubah kondisi elemen yang berada di luar pemicu. Berbeda dengan :focus
yang hanya berlaku untuk elemen itu sendiri (pelajari di sini). Perubahan tampilan ditargetkan oleh sebuah link dengan nilai href
berupa ID elemen:
HTML
<a href='#kotak1'>Kotak Pertama</a> <a href='#kotak2'>Kotak ke Dua</a> <a href='#kotak3'>Kotak ke Tiga</a> <div class='boks' id='kotak1'></div> <div class='boks' id='kotak2'></div> <div class='boks' id='kotak3'></div>
CSS
.boks { width:200px; height:120px; margin:10px; background-color:#fff; -webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.4); -moz-box-shadow:0px 1px 2px rgba(0,0,0,0.4); box-shadow:0px 1px 2px rgba(0,0,0,0.4); } .boks:target { background-color:#396B96; }
Masalah Loncatan Halaman
Seperti yang Anda lihat dan rasakan bahwa ketika link sasaran diklik, halaman akan meloncat dan berhenti pada titik teratas elemen yang menjadi target. Ini ialah kondisi normal sebuah link. Saat sebuah link menuju ke sebuah hash, maka halaman akan meloncatkan dirinya dan segera mengangkat elemen yang menjadi sasaran sedekat mungkin. Hal ini sering dijumpai pada situs Wikipedia. Saat Anda mengeklik salah satu link daftar isi, maka halaman akan pribadi meloncat dan mengarahkannya ke judul artikel terkait:
Untuk mengatasi problem itu, Anda bisa menerapkan position:fixed
pada elemen-elemen sasaran sehingga loncatan halaman tidak akan menghipnotis posisi elemen, alasannya ialah position:fixed
tidak akan terpengaruh oleh scroll bar:
HTML
<div id='fixed-area'> <div class='boks' id='kotak1'></div> <div class='boks' id='kotak2'></div> <div class='boks' id='kotak3'></div> </div>
CSS
#fixed-area { position:fixed; width:200px; top:30px; left:50%; margin-left:-100px; }
Sumber https://www.dte.web.id/