CSS - Tombol: Panduan Komprehensif untuk Pemula

Hai teman-teman pengembang web yang sedang belajar! Hari ini, kita akan mendalamkan dunia yang menakjubkan dari tombol CSS. Pada akhir tutorial ini, Anda akan dapat membuat tombol yang tidak hanya berfungsi baik tapi juga terlihat fantastis. Jadi, mari kita mulai!

CSS - Buttons

CSS Tombol - Contoh Dasar

Mari kita mulai dengan tombol sederhana. Berikut adalah HTML dan CSS yang Anda butuhkan:

<button class="basic-button">Klik saya!</button>
.basic-button {
background-color: #4CAF50;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}

Ini akan membuat tombol hijau dengan teks putih. Properti padding memberikan ukuran ke tombol, sedangkan cursor: pointer mengubah cursor mouse menjadi tangan saat melayang di atas tombol.

CSS Tombol Warna

Tombol dapat berwarna apa pun yang Anda inginkan! Berikut cara membuat tombol berwarna berbeda:

<button class="blue-button">Biru</button>
<button class="red-button">Merah</button>
<button class="yellow-button">Kuning</button>
.blue-button {background-color: #008CBA;}
.red-button {background-color: #f44336;}
.yellow-button {
background-color: #ffeb3b;
color: black;
}

Perhatikan bagaimana kita menggunakan teks hitam untuk tombol kuning untuk memastikan kebacaan.

CSS Tombol Ukuran

Anda dapat mudah membuat tombol berukuran berbeda dengan mengatur font-size dan padding:

<button class="small-button">Kecil</button>
<button class="medium-button">Menengah</button>
<button class="large-button">Besar</button>
.small-button {
font-size: 12px;
padding: 10px 24px;
}
.medium-button {
font-size: 16px;
padding: 12px 28px;
}
.large-button {
font-size: 20px;
padding: 14px 40px;
}

CSS Tombol Padding

Padding sangat penting untuk ukuran tombol. Mari kita eksperimen dengan nilai padding berbeda:

<button class="padding-button1">Tombol 1</button>
<button class="padding-button2">Tombol 2</button>
.padding-button1 {
padding: 10px 20px;
}
.padding-button2 {
padding: 15px 40px;
}

Ingat, nilai pertama adalah untuk padding atas dan bawah, sedangkan nilai kedua untuk padding kiri dan kanan.

CSS Tombol Bundar

Ingin menghaluskan sudut yang tajam? Gunakan border-radius:

<button class="rounded-button">Bundar</button>
.rounded-button {
border-radius: 12px;
}

Eksperimen dengan nilai berbeda untuk mendapatkan roundness yang Anda inginkan!

CSS Tombol Border Berwarna

mari tambahkan beberapa border ke tombol kami:

<button class="border-button">Bordered</button>
.border-button {
background-color: white;
color: black;
border: 2px solid #4CAF50;
}

Ini akan membuat tombol putih dengan border hijau dan teks hitam.

CSS Tombol Hoverable

Interaktivitas adalah kunci! mari kita membuat tombol yang berubah saat melayang:

<button class="hover-button">Hover Saya</button>
.hover-button {
background-color: white;
color: black;
border: 2px solid #008CBA;
transition: 0.3s;
}

.hover-button:hover {
background-color: #008CBA;
color: white;
}

Properti transition memastikan perubahan warna yang halus.

CSS Tombol Bayangan

Tambahkan kedalaman ke tombol Anda dengan bayangan:

<button class="shadow-button">Bayangan</button>
.shadow-button {
box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
}

Properti box-shadow menambahkan efek bayangan ke tombol.

CSS Tombol Nonaktif

kadang-kadang, Anda perlu menonaktifkan tombol:

<button class="disabled-button" disabled>Nonaktif</button>
.disabled-button {
opacity: 0.6;
cursor: not-allowed;
}

Properti opacity membuat tombol terlihat pudar, sedangkan cursor: not-allowed mengubah cursor menjadi tanda bahwa tombol tidak dapat diklik.

CSS Tombol Lebar

Anda dapat mengendalikan lebar tombol menggunakan persentase atau nilai tetap:

<button class="full-width">Lebar Penuh</button>
<button class="half-width">Setengah Lebar</button>
.full-width {
width: 100%;
}
.half-width {
width: 50%;
}

CSS Tombol Grup

Bawa tombol Anda dalam grup untuk penampilan yang kohesif:

<div class="button-group">
<button>Kiri</button>
<button>Tengah</button>
<button>Kanan</button>
</div>
.button-group button {
float: left;
}
.button-group button:not(:last-child) {
border-right: none;
}

Ini membuat set tombol horisontal.

CSS Tombol Border Grup

Tambahkan border ke grup tombol Anda:

<div class="border-button-group">
<button>Apple</button>
<button>Samsung</button>
<button>Sony</button>
</div>
.border-button-group button {
border: 1px solid green;
float: left;
}
.border-button-group button:not(:last-child) {
border-right: none;
}

CSS Tombol Grup Vertikal

Anda juga dapat membuat grup tombol vertikal:

<div class="vertical-button-group">
<button>Atas</button>
<button>Tengah</button>
<button>Bawah</button>
</div>
.vertical-button-group button {
display: block;
width: 100%;
}
.vertical-button-group button:not(:last-child) {
border-bottom: none;
}

CSS Tombol di Atas Gambar

Letakkan tombol di atas gambar untuk efek yang menarik:

<div class="container">
<img src="image.jpg" alt="Gambar">
<button class="btn">Tombol</button>
</div>
.container {
position: relative;
width: 100%;
}
.container img {
width: 100%;
height: auto;
}
.container .btn {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

CSS Tombol Animate

Letakkan beberapa animasi ke tombol Anda:

<button class="animated-button">Animated</button>
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.1); }
100% { transform: scale(1); }
}

.animated-button {
animation: pulse 2s infinite;
}

Ini membuat tombol berdenyut.

CSS Tombol Efek Tekan

Simulasikan efek tekan tombol dengan CSS:

<button class="press-button">Tekan Saya</button>
.press-button:active {
background-color: #3e8e41;
box-shadow: 0 5px #666;
transform: translateY(4px);
}

Tombol ini tampak sepertibergerak ke bawah saat diklik.

CSS Tombol Efek Fade In

Buat efek fade-in untuk tombol Anda:

<button class="fade-in-button">Fade In</button>
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}

.fade-in-button {
animation: fadeIn 2s;
}

Tombol ini akan fade-in saat halaman dimuat.

CSS Tombol Efek Ripple

Akhirnya, buat efek ripple:

<button class="ripple">Ripple</button>
.ripple {
position: relative;
overflow: hidden;
}

.ripple:after {
content: "";
background: #f1f1f1;
display: block;
position: absolute;
padding-top: 300%;
padding-left: 350%;
margin-left: -20px !important;
margin-top: -120%;
opacity: 0;
transition: all 0.8s
}

.ripple:active:after {
padding: 0;
margin: 0;
opacity: 1;
transition: 0s
}

Ini membuat efek ripple saat tombol ditekan.

Dan itu saja! Anda sekarang dilengkapi dengan pengetahuan untuk membuat berbagai jenis tombol CSS. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk meng eksperimen dengan gaya-gaya ini dan buat tombol unik Anda sendiri. Selamat coding!

Credits: Image by storyset