Fungsi CSS Math: Membuat Layout yang Cerdas dan Dinamis
Fungsi matematika memungkinkan properti CSS menerima nilai hasil dari operasi aritmatika atau logika perbandingan secara langsung di browser.
1. calc() – Perhitungan Kustom
Fungsi ini memungkinkan Anda mencampur berbagai satuan (seperti % dengan px) dalam satu perhitungan.
-
Kegunaan: Menghitung lebar elemen setelah dikurangi ruang tertentu.
-
Rumus:
width: calc(100% - 80px); -
Aturan Penting: Harus ada spasi di sekitar operator
+dan-.
2. min() dan max() – Penjaga Batas
Fungsi ini digunakan untuk memilih nilai terkecil atau terbesar dari daftar nilai yang diberikan.
-
min(A, B): Memilih nilai yang paling kecil. Sangat berguna agar elemen tidak pernah lebih lebar dari nilai tertentu.
-
width: min(50%, 400px);(Lebar akan 50%, tapi maksimal hanya 400px).
-
-
max(A, B): Memilih nilai yang paling besar. Berguna agar elemen tidak pernah lebih kecil dari nilai tertentu.
-
font-size: max(2vw, 16px);(Ukuran teks mengikuti lebar layar, tapi minimal 16px).
-
3. clamp() – Solusi Responsif Sempurna
clamp() adalah gabungan cerdas dari min() dan max(). Fungsi ini menerima tiga parameter: Nilai Minimum, Nilai Ideal, dan Nilai Maksimum.
-
Sintaks:
clamp(MIN, IDEAL, MAX); -
Cara Kerja: Nilai akan mencoba mengikuti IDEAL, tapi tidak akan pernah kurang dari MIN dan tidak akan pernah lebih dari MAX.
Tutorial: Implementasi Tipografi dan Layout Responsif
Mari kita terapkan fungsi-fungsi ini pada komponen artikel untuk proyek SatuMedia.
Kode CSS
:root { --container-width: 1200px;
} .container { /* Menggunakan calc untuk memberi jarak sisi kiri-kanan secara presisi */ width: calc(100% - 40px); max-width: var(--container-width); margin: 0 auto;
} .hero-title { /* Teks akan membesar sesuai lebar layar (5vw), tapi tidak akan lebih kecil dari 24px dan tidak lebih besar dari 48px */ font-size: clamp(24px, 5vw, 48px); margin-bottom: 20px;
} .sidebar { /* Sidebar mengambil 30% lebar, tapi minimal harus 250px agar tidak terlalu sempit */ width: max(30%, 250px); background-color: #f4f4f4;
}
Perbedaan Cepat Fungsi Math
| Fungsi | Kegunaan Utama | Analogi |
| calc() | Operasi tambah, kurang, kali, bagi. | Kalkulator standar. |
| min() | Memasang batas atas (maksimal). | "Jangan lebih dari ini." |
| max() | Memasang batas bawah (minimal). | "Jangan kurang dari ini." |
| clamp() | Menjaga nilai dalam rentang tertentu. | Memasang pagar pembatas. |
Tips Pro untuk Developer
-
Tipografi Tanpa Media Query: Dengan
clamp(), Anda tidak perlu lagi menulis banyak Media Query hanya untuk m engubah ukuranfont-sizedari Mobile ke Desktop. Teks akan berubah ukurannya secara halus (fluid typography). -
Mencampur Satuan: Kehebatan
calc()adalah kemampuannya memproses100vh - 50px. Ini sangat berguna untuk membuat area konten yang memenuhi layar dikurangi tinggi navbar. -
Aksesibilitas: Saat menggunakan
clamp()untuk font, pastikan nilai minimumnya masih nyaman dibaca (minimal 16px) untuk pengguna di perangkat mobile kecil.