Συνάρτηση clamp
Η συνάρτηση clamp δέχεται τρεις παραμέτρους: ελάχιστη τιμή, προτιμώμενη τιμή και μέγιστη τιμή.
Επιστρέφει:
- την ελάχιστη τιμή, εάν η προτιμώμενη είναι μικρότερη από την ελάχιστη
- την μέγιστη τιμή, εάν η προτιμώμενη είναι μεγαλύτερη από την μέγιστη
- την προτιμώμενη τιμή, εάν αυτή βρίσκεται μεταξύ της ελάχιστης και της μέγιστης
Σύνταξη
επιλογέας {
ιδιότητα: clamp(min, pref, max);
}
Παράδειγμα . Περιορισμός μεγέθους μπλοκ
Στο επόμενο παράδειγμα, το προτιμώμενο
μέγεθος του μπλοκ θα είναι 30% του πλάτους της οθόνης.
Αλλά μικρότερο από 100px και μεγαλύτερο από 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;
}
:
Παράδειγμα . Προσαρμοστικό μέγεθος γραμματοσειράς
Στο επόμενο παράδειγμα, το προτιμώμενο
μέγεθος γραμματοσειράς θα είναι 4vw.
Αλλά μικρότερο από 16px και μεγαλύτερο από 32px
δεν θα μπορέσει να γίνει:
<p id="con1">
responsive text example
</p>
<p id="elem">
responsive text example
</p>
<p id="con2">
responsive text example
</p>
#elem {
font-size: clamp(16px, 4vw, 32px);
color: red;
}
#con1 {
font-size: 16px;
}
#con2 {
font-size: 32px;
}
:
Παράδειγμα . Προσαρμοστική ακτίνα στρογγυλοποίησης
Στο επόμενο παράδειγμα, η προτιμώμενη
ακτίνα στρογγυλοποίησης θα είναι 3vw.
Αλλά μικρότερη από 5px και μεγαλύτερη από 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;
}
: