Monday, January 2, 2012

CSS :target

Secara kontak fisik mirip dengan :focus, namun CSS :target memiliki kemampuan lebih, yaitu dapat 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;
}

Lihat Demo

Masalah Loncatan Halaman

Seperti yang Anda lihat dan rasakan bahwa saat link target diklik, halaman akan meloncat dan berhenti pada titik teratas elemen yang menjadi target. Ini adalah kondisi normal sebuah link. Saat sebuah link menuju ke sebuah hash, maka halaman akan meloncatkan dirinya dan segera mengangkat elemen yang menjadi target sedekat mungkin. Hal ini sering dijumpai pada situs Wikipedia. Saat Anda mengeklik salah satu link daftar isi, maka halaman akan langsung meloncat dan mengarahkannya ke judul artikel terkait:

Wikipedia
Daftar Isi Wikipedia

Untuk mengatasi masalah itu, Anda bisa menerapkan position:fixed pada elemen-elemen target sehingga loncatan halaman tidak akan mempengaruhi posisi elemen, karena 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;
}

Lihat Demo

Labels: ,

8 Comments:

At Friday, April 6, 2012 at 3:22:00 PM GMT+7, Blogger Unknown said...

ketemu juga ternyata penjelasan css target :D

 
At Friday, April 6, 2012 at 4:11:00 PM GMT+7, Blogger Dode Van Persie said...

@Syndicate OS wah saya malah gak ngerti tentang css:target ini :Ozz

 
At Tuesday, June 12, 2012 at 2:17:00 PM GMT+7, Blogger Putra said...

kalau pengen dikasih efek smooth gmn mas? :D

 
At Tuesday, June 12, 2012 at 3:50:00 PM GMT+7, Blogger Taufik Nurrohman said...

@Alam Perwira Tambahkan saja transisi:

div {
background-color:black;
width:200px;
height:200px;
display:inline-block;
margin:10px;
-webkit-transition:background-color 1s ease-out;
-moz-transition:background-color 1s ease-out;
-ms-transition:background-color 1s ease-out;
-o-transition:background-color 1s ease-out;
transition:background-color 1s ease-out;
}

div:target {
background-color:yellow;
}


Demo: http://jsfiddle.net/tovic/z7Rhn/1/

Terkait: Perkenalan CSS Transisi

 
At Tuesday, May 7, 2013 at 5:40:00 PM GMT+7, Blogger Semar Badranaya said...

Untuk mengatur jarak ketika klik Permalink komentar, gimakan kang? soalnya di blog saya diatas banget, ga kaya punya akang

http://3.bp.blogspot.com/-W3vmm2SHNek/UYjZUmFQLkI/AAAAAAAAAK8/MB47D_TsNdc/s600/permalink_komentar.jpg

 
At Wednesday, May 8, 2013 at 7:35:00 AM GMT+7, Blogger Taufik Nurrohman said...

.item-komentar:before {
content:"";
display:block;
height:50px;
margin:-50px 0 0;
visibility:hidden;
}


/2012/10/jump-linkhash-tag-link-dengan-jarak.html

 
At Thursday, June 13, 2013 at 8:06:00 AM GMT+7, Blogger Kang Ismet said...

This comment has been removed by the author.

 
At Wednesday, September 25, 2013 at 3:18:00 AM GMT+7, Blogger Unknown said...

mas brow , kalo link'a bukan warna gmana ? misalnya a href ="file.html" target="boks1" bisa ga?

 

Post a Comment

<< Home