Fungsi clamp
Fungsi clamp menerima tiga parameter: nilai minimum, nilai preferensi, dan nilai maksimum.
Fungsi ini mengembalikan:
- nilai minimum jika nilai preferensi lebih kecil dari nilai minimum
- nilai maksimum jika nilai preferensi lebih besar dari nilai maksimum
- nilai preferensi jika nilainya berada di antara nilai minimum dan maksimum
Sintaks
selector {
property: clamp(min, pref, max);
}
Contoh . Membatasi ukuran blok
Pada contoh berikut, ukuran preferensi
blok akan menjadi 30% dari lebar layar.
Tidak bisa menjadi lebih kecil dari 100px dan lebih besar dari 300px:
<div id="con1"></div>
<div id="targ"></div>
<div id="con2"></div>
#targ {
width: clamp(100px, 30%, 300px);
height: 100px;
border: 1px solid red;
margin: 30px auto;
}
#con1 {
width: 100px;
height: 100px;
border: 1px solid black;
margin: 30px auto;
}
#con2 {
width: 300px;
height: 100px;
border: 1px solid black;
margin: 30px auto;
}
:
Contoh . Ukuran font responsif
Pada contoh berikut, ukuran font preferensi
akan menjadi 4vw.
Tidak bisa menjadi lebih kecil dari 16px dan lebih besar dari 32px:
<p id="con1">
contoh teks responsif
</p>
<p id="elem">
contoh teks responsif
</p>
<p id="con2">
contoh teks responsif
</p>
#elem {
font-size: clamp(16px, 4vw, 32px);
color: red;
}
#con1 {
font-size: 16px;
}
#con2 {
font-size: 32px;
}
:
Contoh . Radius pembulatan responsif
Pada contoh berikut, radius pembulatan preferensi
akan menjadi 3vw.
Tidak bisa menjadi lebih kecil dari 5px dan lebih besar dari 20px:
<div id="con1"></div>
<div id="elem"></div>
<div id="con2"></div>
div {
width: 100px;
height: 100px;
margin: 20px auto;
background: lightblue;
}
#elem {
border-radius: clamp(5px, 3vw, 20px);
background: #efafc6;
}
#con1 {
border-radius: 5px;
}
#con2 {
border-radius: 20px;
}
: