Tuesday, September 13, 2011

CSS Selection, Mempercantik Tampilan Teks Terseleksi atau Melindungi Konten?

css seleksi selection

CSS Selection/CSS Seleksi dapat digunakan untuk mempercantik tampilan teks-teks yang terseleksi. Secara umum, tampilan teks yang terseleksi akan diliputi dengan latar belakang berwarna biru dan warna teks berwarna putih, namun dengan CSS seleksi, kamu bisa mendapatkan efek teks terseleksi yang beraneka ragam.

Kode CSS

Selektor dan deklarasi CSS Selection dapat dituliskan seperti ini:

::selection {background:#3C993C;color:#FFB46A;text-shadow:none;} /* Safari & Chrome */
::-moz-selection {background:#3C993C;color:#FFB46A;text-shadow:none;} /* Firefox */

background:#3C993C; digunakan untuk menentukan warna latar belakang teks terseleksi, sedangkan color:#FFB46A; digunakan untuk menentukan warna teks terseleksi. Deklarasi text-shadow:none; sebenarnya tidak terlalu penting, namun dalam browser Chrome, CSS Text Shadow terkadang juga ikut terlibat dalam teks-teks terseleksi. Hal ini tentunya akan membuat hasil tampilan menjadi kurang sempurna. Untuk itu diterapkanlah deklarasi text-shadow:none; untuk menetralkan tampilannya.

Demonstrasi CSS Selection

Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini!

CSS Seleksi merupakan salah satu anggota dari CSS3 Pseudo-Element. Oleh karena itu, kita juga bisa menerapkan CSS Seleksi ini pada area tertentu saja. Bahkan, dengan ide ini kita juga bisa membuat sebuah sistem sederhana untuk melindungi konten halaman artikel kita (atau lebih tepatnya: seolah-olah melindungi).

Melindungi Konten Artikel dengan CSS Selection

Untuk melindungi konten artikel dengan CSS Seleksi, yang kita butuhkan adalah dua buah penerapan deklarasi CSS. Deklarasi yang pertama kita gunakan untuk menyatakan efek seleksi secara umum (keseluruhan), sedangkan deklarasi yang ke dua kita gunakan untuk menyatakan efek seleksi pada area khusus saja:

Letakkan baris kode ini di atas ]]></b:skin> atau </style>

/* LINDUNGI ARTIKEL DENGAN CSS SELEKSI - http://www.dte.web.id
--------------------------------------------
Nyatakan bahwa semua elemen akan tampak sama saat terseleksi.
Deklarasi-deklarasi di bawah ini akan memberikan kesan seolah-olah teks tidak bisa diseleksi
*/
::selection {
  background:transparent !important;
  color:#222; /* samakan dengan warna teks */
}
::-moz-selection {
  background:transparent !important;
  color:#222; /* samakan dengan warna teks */
}

/* -----------------------------------------
Nyatakan bahwa elemen-elemen yang berada di dalam tag <code>, <textarea> dan <input> dapat diseleksi
*/
code::selection,
textarea::selection,
input::selection {
  background:red;
  color:white;
  text-shadow:none;
}
code::-moz-selection,
textarea::-moz-selection,
input::-moz-selection {
  background:red;
  color:white;
  text-shadow:none;
}

Hasil Akhir Setelah Teks Dilindungi

Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini! Seleksi teks ini!


Meskipun hasil akhir area di atas menunjukkan bahwa teks yang berada di luar tag <code> tidak bisa diseleksi, namun sebenarnya semua teks tersebut dapat di seleksi. Hanya saja tampilan teks terseleksi yang berada di luar area <code> ... </code> telah diatur agar warna latar belakang tetap transparan dan warna teks tetap sama dengan warna teks dalam keadaan normal, sehingga seolah-olah teks tersebut tidak bisa diseleksi.

Dukungan Browser

Browser Versi Paling Lama Mendukung
Internet Explorer 9 ::selection
Firefox (Gecko) 1.0 (1.5) ::-moz-selection
Opera 9.5 ::selection
Safari (WebKit) 1.1 (100) ::selection

Lebih Jauh

Labels: ,

6 Comments:

At Tuesday, September 13, 2011 at 2:32:00 PM GMT+7, Blogger Rudy Azhar said...

kata-kata important! pada background:transparent itu yang saya belum mengerti maksudnya apa? Apa ditujukan untuk IE atau hal lain.

 
At Tuesday, September 13, 2011 at 4:10:00 PM GMT+7, Blogger Taufik Nurrohman said...

@Rudy Azhar: Kode !important hanya digunakan untuk berjaga-jaga, siapa tahu ada deklarasi pada elemen terkait yang juga menggunakan !important. Kode !important hanya dimaksudkan sebagai semacam prioritas. Misalnya begini:

a {
color:red !important;
color:black;
}


Maka warna yang akan diterapkan adalah color:red;. color:black; diabaikan.

 
At Wednesday, September 14, 2011 at 6:54:00 AM GMT+7, Blogger Rudy Azhar said...

Oooo. bisa begitu ya?he..he..he... baru ngerti saya.

 
At Wednesday, September 14, 2011 at 9:09:00 PM GMT+7, Blogger Unknown said...

biasany buat orang yg tidak suka artikelny djeplak sana sini :D

 
At Tuesday, June 11, 2013 at 3:02:00 AM GMT+7, Blogger Ghaly Bayhaqi said...

0:) Ane coba dulu ya bro.. :)

 
At Thursday, October 24, 2013 at 4:57:00 PM GMT+7, Anonymous Anonymous said...

itu yang Hasil Akhir masih bisa di copy cuman transparant
jadi yang mau copy artikel, seperti kesulitan untuk meng select tulisannya...

makasih infonya mas, sangat bermanfaat...

 

Post a Comment

<< Home