Menu

Selasa, 06 Januari 2015

Membuat tooltip sederhana menggunakan jQuery
en

Membuat tooltip sederhana menggunakan jQuery


Sebenarnya ada banyak cara untuk membuat tooltip, tidak hanya satu trik saja yaitu bisa dengan pseudo elements, dengan gaya CSS3 juga dengan javascript. Tooltip merupakan tampilan informasi berupa teks maupun gambar yang tampil saat cursor di arahkan (mouse over) pada sebuah item (biasanya pada link) dalam sebuah website/blog.

Untuk kali ini, saya akan berbagi membuat tooltip dengan jQuery walaupun ini sudah bukan bahasan baru tapi mungkin ada kawan blogger yang belum tahu dan untuk itu silahkan ikuti caranya dibawah ini:

Pertama silahkan login ke akun Blogger anda
Pilih Template lalu Edit HTML
Sekarang kita buat CSS terlebih dahulu untuk tampilan tooltipnya seperti berikut

/* tooltip */
.db-simple-tooltip {
display:none;
position:absolute;
border:1px solid #071585;
background-color: #1e90ff;
border-radius:3px;
padding:5px;
color:#fff;
font-size:14px !important;
box-shadow: 0 1px 2px black;
}

Silahkan anda ubah sesuai keinginan dan tempatkan di atas </b:skin>
Lalu buat jQuery untuk memproses perintah tooltipnya

<script type='text/javascript'>
//<![CDATA[  
$(document).ready(function() {
// Tooltip only Text
$('.db-tooltip').hover(function(){
        // Hover over code
        var title = $(this).attr('title');
        $(this).data('tipText', title).removeAttr('title');
        $('<p class="db-simple-tooltip"></p>')
        .text(title)
        .appendTo('body')
        .fadeIn('slow');
}, function() {
        // Hover out code
        $(this).attr('title', $(this).data('tipText'));
        $('.db-simple-tooltip').remove();
}).mousemove(function(e) {
        var mousex = e.pageX + 20; //Get X coordinates
        var mousey = e.pageY + 10; //Get Y coordinates
        $('.db-simple-tooltip')
        .css({ top: mousey, left: mousex })
});
});
//]]>
</script>

Pastikan template sobat sudah tersimpan jQuery, Tambahkan sript diatas sebelum tag </body>
Simpan perubahan template anda.

Sedikit cara untuk penerapan pada template.

Untuk menerapkanya ke link posting seperti judul blog ini, silahkan cari kode

<a expr:href='data:post.link'><data:post.title/></a> atau <data:post.title/>

jika di dalam template sobat hanya berupa <data:post.title/> sebaiknya beri link seperti kode diatas dan tempatkan kode class='db-tooltip' dan expr:title='data:post.title' diantaranya seperti berikut:

<a class='db-tooltip' expr:href='data:post.link' expr:title='data:post.title'><data:post.title/></a>

ingat, kode <data:post.title/> ada dua, yaitu untuk judul posting dan judul halaman dibedakan dengan conditional cond='data:post.url' dan cond='data:post.link' anda bisa membuat pilihan, mana yang akan anda beri efek tooltip judul posting atau judul halaman bisa juga keduanya.

Cara penggunaan lainnya
<a class="db-tooltip" href="http://defandaky.blogspot.com" title="Tutorial">Dafiin Blog</a>
<p class="db-tooltip" title="Menyisipkan tooltip pada tag p">Menyisipkan tooltip pada tag p</p>
<img class="db-tooltip" title="Tooltip sederhana" src="gambar.png"/>

Demikian semoga berguna dan bermanfaat...
Continue reading →

Sabtu, 03 Januari 2015

CSS widget popular post Blogger
en

CSS widget popular post Blogger



Pada kali ini Saya mencoba modifikasi popular post menjadi keren dan warna - warni dengan memanfaatkan CSS Pseudo Element dan nth-child sehingga tampilannya menjadi lebih menarik.

Silakan masuk pada akun blogger Anda
Kemudian Tambahkan Gadget dan pilih Entri Populer, lalu atur agar popular post hanya menampilkan judul saja.

langkah di atas dilakukan untuk anda yang belum memasang widget ini di blog.

Kemudian tambahkan CSS dibawah ini pada template Anda, simpan diatas kode ]]></b:skin> atau </style> dan Simpan

PopularPosts ul{list-style-type:none; padding:5px} 
.PopularPosts {color:#fff; line-height:1.6; font-size:100%; border-radius:5px 5px 0 0; padding} 
.PopularPosts {line-height:1.6; font-size:100%; border-radius:0; color:#fff} 
.PopularPosts a{color:#fff} 
.PopularPosts a:hover{color:#fff} 
.PopularPosts ul{list-style:none; margin:0; margin-left:-18px; padding:0; counter-reset:popcount} 
.PopularPosts ul li:before{list-style-type:none; margin-right:15px; margin-left:5px; padding:0.3em 0.6em; counter-increment:popcount; content:counter(popcount); font-size:16px; color:#fff; position:relative; float:left; border:1px solid #fff; border-radius:100%} 
.PopularPosts li{text-transform:uppercase; background:none; margin:0; padding:10px 18px; display:block; clear:both; overflow:hidden; list-style:none; font:13.5px/140%; border-bottom:none} 
.PopularPosts li:hover{background:#0FB9BB} 
.PopularPosts li a{text-decoration:none} 
.PopularPosts ul li{padding:3px 20px; border:none} 
.PopularPosts ul li:nth-child(1){background-color:#F48067; margin-right:0} 
.PopularPosts ul li:nth-child(2){background-color:#2ba6e1; margin-right:0} 
.PopularPosts ul li:nth-child(3){background-color:#718397; margin-right:0} 
.PopularPosts ul li:nth-child(4){background-color:#11b7b5; margin-right:0} 
.PopularPosts ul li:nth-child(5){background-color:#d9ba71; margin-right:0} 
.PopularPosts ul li:nth-child(6){background-color:#F48067; margin-right:0} 
.PopularPosts ul li:nth-child(7){background-color:#2ba6e1; margin-right:0} 
.PopularPosts ul li:nth-child(8){background-color:#718397; margin-right:0} 
.PopularPosts ul li:nth-child(9){background-color:#11b7b5; margin-right:0} 
.PopularPosts ul li:nth-child(10){background-color:#d9ba71; margin-right:0}

ingat, judul widget tidak akan tampil seperti di gambar. untuk seperti itu silahkan edit sendiri ya.


Semoga berguna dan bermanfaat...
Continue reading →
CSS untuk Contact form di blogger/blogspot
en

CSS untuk Contact form di blogger/blogspot







01CSS form contact #1


/*---- Custom Blogger Contact Form -----*/

#ContactForm1_contact-form-name, #ContactForm1_contact-form-email, #ContactForm1_contact-form-email-message {
padding: 9px;
border: solid 1px #E5E5E5;
outline: 0;
font: normal 13px/100% Verdana, Tahoma, sans-serif;
background: #FFFFFF;
background: -webkit-gradient(linear, left top, left 25, from(#FFFFFF), color-stop(4%, #EEEEEE), to(#FFFFFF));
background: -moz-linear-gradient(top, #FFFFFF, #EEEEEE 1px, #FFFFFF 25px);
box-shadow: rgba(0,0,0, 0.1) 0px 0px 8px;
-moz-box-shadow: rgba(0,0,0, 0.1) 0px 0px 8px;
-webkit-box-shadow: rgba(0,0,0, 0.1) 0px 0px 8px;
}

#ContactForm1_contact-form-email-message {
width: 245px;
height: 150px;
line-height: 150%;
}

#ContactForm1_contact-form-submit:hover, textarea:hover,
#ContactForm1_contact-form-submit:focus, textarea:focus {
border-color: #C9C9C9;
-webkit-box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 8px;
-moz-box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 8px;
}

#ContactForm1_contact-form-submit{
width: auto;
padding: 9px 15px;
background: #617798;
border: 0;
font-size: 14px;
color: #FFFFFF;
height:40px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}


02CSS form contact #2


/*---- Custom Blogger Contact Form -----*/

#ContactForm1_contact-form-name {
background: url("https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Y8m7L4IZKPxOvaQFc6Z-sKhsq8CIABlZ0Q2_a2zhZMLABLVBaZv_08ltOztwpQR0UFmqp03LQuXrijqNIbyNGxwKPHh1lX7ubMUXkLuqZnA4-sf3VuS4aI-fp64oiDnDDq_cKMZKK94/s1600/form_name.gif") no-repeat scroll 5px 50% rgb(255, 255, 255);
}

#ContactForm1_contact-form-email {
background: url("https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8EE44tEKHPv5ArAmEAD3BcZp8FC1uCQL1K3ESXDVAdlzq5y4Iy3z_1BmOblEycbZ14VUZGpziuxGSud1je2aGaal6Cd8N4GB88Aa_uQHQzEOKyu5bOdatpJXhyybwCOz7b3I-1M1xRrI/s1600/form_email.gif") no-repeat scroll 5px 50% rgb(255, 255, 255);
}

#ContactForm1_contact-form-email-message {
background: url("https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNQAwyUaIusIjfWaAhYA-dv61t_nhpZNFKrRqj-VTH4cQGUDsjDaBaaLwYvAL1qCKRxPVoeRroaR8gYRmhOKx4sFhyphenhyphen9TaBbQq18wFWptCIwS9U_LqF3m_cHI2F7kq7pKNVwCMleAj27jU/s1600/form_note.gif") no-repeat scroll 5px 6px rgb(255, 255, 255);
}

#ContactForm1_contact-form-name,#ContactForm1_contact-form-email, #ContactForm1_contact-form-email-message {
margin: 0px;
width: 250px;
border: 1px solid rgb(221, 221, 221);
padding: 3px 5px 3px 25px;
}

#ContactForm1_contact-form-submit {
margin-top: 5px;
padding: 5px;
width: 100px;
background-color: rgb(225, 77, 77);
background-image:none;
border: 1px solid rgb(57, 21, 21);
border-radius: 5px 5px 5px 5px;
color: rgb(255, 255, 255);
text-align: center;
font-weight: bold;
line-height: 48px;
text-transform: uppercase;
text-shadow: 0px 1px 0px rgb(0, 0, 0);
}

03CSS form contact #3


/*---- Custom Blogger Contact Form -----*/

#ContactForm1_contact-form-name,#ContactForm1_contact-form-email {
border-color: rgb(0, 0, 0);
border: 1px solid rgb(186, 186, 186);
padding: 4px 6px 6px 5px;
background-color: rgb(255, 255, 255);
outline: 0px none;
margin-right: 32px;
min-height: 32px;
position: relative;
-moz-box-sizing: border-box;
line-height: normal;
font-size: 100%;
margin: 0px;
vertical-align: baseline;
font-family: sans-serif;
}

#ContactForm1_contact-form-email-message {
border-color: rgb(0, 0, 0);
padding-right: 5px;
min-height: 100px;
width:265px;
border: 1px solid rgb(186, 186, 186);
padding: 4px 6px 6px 5px;
background-color: rgb(255, 255, 255);
outline: 0px none;
margin-right: 32px;
min-height: 32px;
position: relative;
-moz-box-sizing: border-box;
overflow: auto;
vertical-align: top;
font-size: 100%;
margin: 0px;
vertical-align: baseline;
font-family: sans-serif;
}

#ContactForm1_contact-form-submit {
background-image:none;
background-color: rgb(0, 130, 135);
color: rgb(255, 255, 255);
font-family: 'Segoe UI','Open Sans',Verdana,Arial,Helvetica,sans-serif;
font-weight: 400;
font-size: 14px;
line-height: 20px;
vertical-align: middle !important;
min-width: 90px;
min-height: 32px;
height: 32px;
border: 1px solid transparent;
color: white;
margin-right: 10px;
margin-top: 10px;
display: inline-block;
text-align: center;
cursor: pointer;
padding: 4px 10px;
position: relative;
outline: medium none;
border-radius: 0px 0px 0px 0px;
}

Cara Menambahkan Gaya Custom Untuk Formulir Kontak:

Menambahkan kode CSS kustom ke blog Anda cukup sederhana. Beberapa dari Anda hanya akan meninggalkan bagian ini, karena mereka tahu bagaimana trik ini sebenarnya mudah. Bagi anda yang tidak tahu, di ikuti langkah dibawah ini:

  1. Login ke Blogger> Template> Edit HTML
  2. Cari kode tag ]]> </ b: skin>:
  3. Tambahkan CSS favorit anda di atas kode ]]> </ b: skin> 
  4. Simpan template Anda

bagaimana, cukup mudahkan. Anda juga dapat berbagi gaya kustom Anda di bagian komentar di bawah ini ...

Semoga berguna
Continue reading →
Border Semitransparan untuk Menciptakan Efek Tajam dan Tipis pada Elemen
en

Border Semitransparan untuk Menciptakan Efek Tajam dan Tipis pada Elemen


Saya secara alami sering dan suka memperhatikan hal-hal yang detail, terutama pada elemen-elemen UI di dalam web-web terkenal seperti Google, Facebook dan juga berbagai framework web. Kali ini Saya akan membahas mengenai tampilan menu dropdown pada framework Bootstrap ini:




Menu dropdown pada Bootstrap.
Tampilannya terlihat sangat tajam dan dimensinya juga terlihat sangat tipis! Bagi Anda yang sudah terbiasa bekerja dengan aplikasi Photoshop dan sejenisnya mungkin tidak begitu asing dengan teknik untuk membuat efek seperti ini.
Pada kenyataannya, menciptakan elemen kotak dengan efek bayangan saja tidak cukup untuk memberikan kesan sisi yang tajam dan dimensi yang tipis seperti gambar di atas:
/* Belum cukup! */
.box {
  background-color:white;
  border:1px solid #bbb;
  box-shadow:0 4px 15px -4px rgba(0,0,0,.6);
}
Deklarasi di atas sudah cukup untuk menciptakan efek kotak bergaris batas dan berbayang, namun tidak cukup utuk memberikan efek tajam pada elemen tersebut. Jika Anda memperhatikan dengan seksama pada menu dropdown di gambar pertama, maka seharusnya Anda akan menyadari bahwa garis batas pada menu tersebut ternyata tembus pandang:


Bootstrap Dropdown
Pembesaran tampilan.
Efek semacam ini tidak cukup dibuat hanya dengan warna solid dan bayangan, melainkan kita membutuhkan warna semi transparan pada border. Kita bisa menggunakan kode warna RGBA atau HSLA pada border:

.box {
  background-color:white;
  border:1px solid rgba(0,0,0,.3);
  box-shadow:0 4px 15px -4px rgba(0,0,0,.6);
}
 
Tapi sekarang efek transparan pada border justru menampilkan warna latar dari elemen .box di bagian bawahnya karena warna latar secara normal memang akan menembus sampai ke sisi terluar dari border (Anda bisa mengeceknya dengan mencoba mengubah tipe border menjadi dashed atau dotted). Untuk mencegah warna latar agar tidak melebihi batas dalam lingkar border, kita bisa menggunakan CSS background-clip dengan nilai padding-box:

.box {
  background-color:white;
  border:1px solid rgba(0,0,0,.3);
  background-clip:padding-box;
  box-shadow:0 4px 15px -4px rgba(0,0,0,.6);
}

Membandingkan Hasil Tampilan

Berikut ini adalah gambar cuplikan hasil tampilan pada efek sebelum dan efek sesudah:


Efek Tajam dengan CSS
Efek sebelum dan sesudah.

Penggunaan Properti background-clip Lainnya

Fungsi CSS background-clip adalah untuk menentukan apakah latar belakang elemen, baik warna atau gambar, akan meluas ke bagian bawah perbatasan atau tidak. Nilai padding-box pada properti ini memungkinkan warna latar yang secara normal akan melebar dan melebihi batas sebelah dalam dari lingkar border menjadi tidak melebihi batas tersebut. Selengkapnya mengenai CSS background-clip bisa Anda pelajari di sini
Secara pribadi Saya jarang menggunakannya untuk kepentingan dekorasi. Melainkan, Saya lebih sering menggunakan properti ini untuk memperbaiki tampilan yang sedikit rusak karena render piksel yang tidak terlalu baik pada beberapa peramban. Sebagai contoh adalah pada elemen tombol dengan efek rouded corner di sekelilingnya seperti ini:


CSS3 Button
Gambar sebelah kiri adalah tampilan standar tombol yang dibuat tanpa mendeklarasikan background-clip:padding-box. Jika Anda meperhatikannya dengan seksama, maka pada bagian sisi-sisi lengkungnya akan tampak sedikit warna latar yang melebihi batas. Saya tidak tahu mengapa, tetapi ini hanya terjadi pada elemen tombol yang dikenai deklarasi display:inline, sedangkan tombol dengan deklarasi display:inline-block atau display:block tidak mengalami masalah ini. Ini terjadi di Google Chrome.
Gambar sebelah kanan adalah hasil tampilan sesudah Saya menerapkan deklarasi background-clip:padding-box pada tombol. Terlihat lebih rapi, karena warna latar tidak menembus bagian sisi tombol.
Kembali kepada efek tajam dan super tipis pada menu dropdown, Google Chrome juga mengimplementasikan hal yang sama, hanya saja sepertinya dia menggunakan latar gambar, bukan CSS:


Google Chrome Dropdown
Menu dropdown pada Google Chrome.
Pada Google Chrome versi lama, Anda pasti pernah melihat sebuah menu di bagian kanan bawah bernama “Barusan Ditutup” yang jika diklik akan menampilkan daftar histori munculan yang juga memiliki kesan yang sama seperti yang sedang kita bahas sekarang, akan tetapi efek itu diciptakan menggunakan metode yang sedikit berbeda dan Saya pikir ini sudah tidak standar lagi karena hasilnya yang kurang rapi dan tidak konsisten. Bukan menggunakan border semitransparan dan CSS background-clip, melainkan menggunakan outline semitransparan. Hasilnya kurang bagus karena outline tidak bisa mengikuti efek lengkung di ujung-ujung kotak. Saya menambahkan ini sebagai pengetahuan tambahan saja. Seharusnya Saya membahas ini sebelum peramban tersebut diperbaharui sampai yang seperti sekarang:


Outline Semitransparan
Outline tidak bisa mengikuti garis lengkung.
 
.box {
  background-color:white;
  box-shadow:0 0 3px rgba(0,0,0,.8);
  outline:1px solid rgba(0,0,0,.4);
  outline-offset:-3px;
}
 
Teknik lainnya adalah dengan menggunakan CSS bayangan murni, tanpa border:
 
.box {
  background-color:white;
  box-shadow:0 0 0 1px rgba(0,0,0,.3),0 4px 15px -4px rgba(0,0,0,.6);
}
 
Ini adalah teknik tersingkat, karena kita bahkan tidak memerlukan properti background-clip untuk menciptakan efeknya di sini. Hanya saja, jika peramban tidak mendukung CSS bayangan atau tidak mendukung CSS bayangan berganda atau tidak mendukung nilai spread pada CSS bayangan, maka efek garis batasnya tidak akan terlihat. Border memungkinkan kita untuk menciptakan fallback agar tampilan elemen tidak menjadi terlalu buruk pada peramban yang tidak mendukung CSS bayangan dan warna RGBA. Begini maksudnya:

.box {
  background-color:white;
  border:1px solid #bbb; /* warna fallback untuk peramban yang tidak mendukung warna RGBA */
  border:1px solid rgba(0,0,0,.3); /* warna border yang seharusnya */
  background-clip:padding-box;
  box-shadow:0 4px 15px -4px rgba(0,0,0,.6);
}
 
Continue reading →