Advertisement
Html/Css/Jquery

Cara Membuat Warna Gradient Pada Border dengan CSS

Dengan semua fitur-fitur baru yang terdapat dalam CSS3, kita bisa melakukan berbagai style yang berkaitan dengan desain. Seperti halnya membuat gradient color.

Cara Membuat Warna Gradient Pada Border dengan CSS

Gradient color biasanya diterapkan pada backgroup objek yang sedang dibuat menggunakan CSS3, tapi tidak berhenti sampai background saja, CSS3 sekarang mendukung gradient color untuk border. Keren bukan?

Nah berikut akan kami jelaskan cara membuat warna gradient pada border dengan css. Disini ada 2 trik yang bisa kamu gunakan, terserah kamu mau menggunakan langkah yang mana  saja, gunakan yang menurutmu lebih mudah.

Cara Membuat Warna Gradient Pada Border

Trik Pertama

Dalam trik ini kita akan menggunakan pseudo-elements, tapi tidak menggunakannya secara keseluruhan. Selain menggunakan pseudo-elements kita juga akan memanfaatkan penggunaan linear-gradient melaui property  background-image.

Berikut kamu bisa melihat code dibawah ini.

Warna gradient dari atas kebawah

Buat box menggunakan tag div.


<div class="kotak1"></div>

Kemudian buat css codenya seperti berikut.

.kotak1 {
 width:500px;
 height:500px;
 background:#ddd;
 margin:50px auto 0;
 border-top: 20px solid #f00;
 border-bottom: 20px solid #FC0;
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 box-sizing: border-box;
 background-position: 0 0, 100% 0;
 background-repeat: no-repeat;
 -webkit-background-size: 20px 100%;
 -moz-background-size: 20px 100%;
 background-size: 20px 100%;
 background-image: -webkit-linear-gradient(top, #f00 0%, #FC0 100%), -webkit-linear-gradient(top, #f00 0%, #FC0 100%);
 background-image: -moz-linear-gradient(top, #f00 0%, #FC0 100%), -moz-linear-gradient(top, #f00 0%, #FC0 100%);
 background-image: -o-linear-gradient(top, #f00 0%, #FC0 100%), -o-linear-gradient(top, #f00 0%, #FC0 100%);
 background-image: linear-gradient(to bottom, #f00 0%, #FC0 100%), linear-gradient(to bottom, #f00 0%, #FC0 100%);
}

Untuk hasilnya kamu bisa melihatnya langsung pada link demo. Jika ada pertanyaan, bisa gak warna merah ditaruh dibawah dan oranye diatas (dalam demo ini kami menggunakan 2 warna yaitu merah dan oranye)? Tentu saja bisa! Kamu tinggal menukar-nukar warnnya. Selain itu kamu juga bisa mengganti warna default yang kami gunakan. Silahkan eksplorasi sendiri!

Gradient color dari kiri kekanan 

Tidak ada bedanya model sebelumnya, cuma dalam model ini kita hanya merubah sedikit nilai dari linear-gradient. Berikut caranya.

HTML:


<div class="kotak2"></div>

CSS :


.kotak2 {
width:500px;
height:500px;
background:#ddd;
margin:50px auto 0;
border-left: 20px solid #f00;
border-right: 20px solid #FC0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
background-position: 0 0, 0 100%;
background-repeat: no-repeat;
-webkit-background-size: 100% 20px;
-moz-background-size: 100% 20px;
background-size: 100% 20px;
background-image: -webkit-linear-gradient(left, #f00 0%, #FC0 100%), -webkit-linear-gradient(left, #f00 0%, #FC0 100%);
background-image: -moz-linear-gradient(left, #f00 0%, #FC0 100%), -moz-linear-gradient(left, #f00 0%, #FC0 100%);
background-image: -o-linear-gradient(left, #f00 0%, #FC0 100%), -o-linear-gradient(left, #f00 0%, #FC0 100%);
background-image: linear-gradient(to right, #f00 0%, #FC0 100%), linear-gradient(to right, #f00 0%, #FC0 100%);
}

Sama halnya dengan penjelasan sebelumnya, kami bisa merubah posisi warna sesuka hati atau merubah warna sesuai warna yang kamu inginkan.

Gradient color diagonal

Nah pada model ini terdapat sedikit perbedaan. Model ini kita akan menggunakan pseudo-elements :before and :after.  Code css yang dibuat akan sedikit panjang.

HTML :

<div class="kotak3"></div>

CSS :

.kotak3 {
position: relative;
width: 500px;
height: 500px;
margin: 50px auto 0;
background:#ddd;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.kotak3:before,
.kotak3:after {
content: "";
position: absolute;
width: 100%;
height: 100%;
}
.kotak3:before {
background-position: 0 0, 0 100% ;
background-repeat: no-repeat;
-webkit-background-size: 100% 20px;
-moz-background-size: 100% 20px;
background-size: 100% 20px;

background-image: -webkit-linear-gradient(to right, #fc0 0%, #ffe682 100%), -webkit-linear-gradient(right, #f00 0%, #ffe682 100%);
background-image: -moz-linear-gradient(to right, #fc0 0%, #ffe682 100%), -moz-linear-gradient(right, #f00 0%, #ffe682 100%);
background-image: -o-linear-gradient(to right, #fc0 0%, #ffe682 100%), -o-linear-gradient(right, #f00 0%, #ffe682 100%);
background-image: linear-gradient(to right, #fc0 0%, #ffe682 100%), linear-gradient(to left, #f00 0%, #ffe682 100%);
}
.kotak3:after {
background-position: 0 0, 100% 0;
background-repeat: no-repeat;
-webkit-background-size: 20px 100%;
-moz-background-size: 20px 100%;
background-size: 20px 100%;

background-image: -webkit-linear-gradient(top, #fc0 0%, #ffdd55 100%), -webkit-linear-gradient(to top, #f00 0%, #ffe682 100%);
background-image: -moz-linear-gradient(top, #fc0 0%, #ffdd55 100%), -moz-linear-gradient(to top, #f00 0%, #ffe682 100%);
background-image: -o-linear-gradient(top, #fc0 0%, #ffdd55 100%), -o-linear-gradient(to top, #f00 0%, #ffe682 100%);
background-image: linear-gradient(to bottom, #fc0 0%, #ffdd55 100%), linear-gradient(to top, #f00 0%, #ffe682 100%);
}

Bagaimana? Sudah lumayan pusing? Atau mungkin bingung? Nah langsung aja simak ke trik berikutnya ya.

Trik Kedua

Trik ini sedikit memudahkan kalian untuk membuat gradient color. Code yang digunakan tidak terlalu panjang seperti trik pertama. Dalam trik pertama kita menggunakan css property background-image sedangkan dalam trik ini kita akan menggunakan border-image yang merupakan CSS property yang memperbolehkan kita mengisi border dengan image serta gradient color. Browser yang mendukung border-image adalah Chrome, Internet Explorer 11, Firefox, Safari, dan Opera. Perlu dicatat, bagaimanapun, bahwa border-image hanya akan bekerja pada bentuk persegi panjang atau kotak. Ini artinya penambahan property border-radius akan mengganggu hasil dari border-image.

Berikut code-code yang bisa kamu gunakan.

Gradient color dari atas kebawah

HTML :

<div class="kotak-21"></div>

CSS :

.kotak-21 {
 width: 460px;
 height: 460px;
 margin:50px auto 0;
 background: #ddd;
 border: 20px solid transparent;
 -moz-border-image: -moz-linear-gradient(top, #f00 0%, #fc0 100%);
 -webkit-border-image: -webkit-linear-gradient(top, #f00 0%, #fc0 100%);
 border-image: linear-gradient(to bottom, #f00 0%, #fc0 100%);
 border-image-slice: 1;

}

Jika kamu melihatnya, kami menambahan property border-image-slice yang akan mengatur offset dari konten border-image. Properti ini diperlukan untuk menampilkan gradien sepenuhnya dalam daerah sekitar kotak. Selain itu, kami juga mengatur border color menjadi transparent dan memberi nilai border with menjadi 20px jika tidak maka border-image tidak akan memunculkan apa-apa.

Gradient color dari kiri kekanan

HTML :

<div class="kotak-22"></div>

CSS :


<pre>.kotak-22 {
 width: 460px;
 height: 460px;
 margin: 50px auto 0;
 background: #ddd;
 border: 20px solid transparent;
 -moz-border-image: -moz-linear-gradient(left, #f00 0%, #fc0 100%);
 -webkit-border-image: -webkit-linear-gradient(left, #f00 0%, #fc0 100%);
 border-image: linear-gradient(to right, #f00 0%, #fc0 100%);
 border-image-slice: 1;
}

Gradient color diagonal

HTML :

<div class="kotak-23"></div>

CSS :

.kotak-23 {
 width: 460px;
 height: 460px;
 margin: 50px auto 0;
 background: #ddd;
 border: 20px solid transparent;
 -moz-border-image: -moz-linear-gradient(top left, #f00 0%, #fc0 100%);
 -webkit-border-image: -webkit-linear-gradient(top left, #f00 0%, #fc0 100%);
 border-image: linear-gradient(to bottom right, #f00 0%, #fc0 100%);
 border-image-slice: 1;
}

Bagaimana? Lebih gampang bukan? Selamat mencoba.

Demo Download

Selalu menganggap diri seorang pemula. Seorang Website Designer yang lagi suka nulis, juga editing video, dan memperhatikan tren desain. Entrepreneur. Founder & Marketing Palawakia Studio

Related Stories

Leave a Reply

Your email address will not be published. Required fields are marked *