ఆధునిక CSS మీడియా-క్వెరీ మరియు JavaScript హ్యాక్ల యొక్క సంపూర్ణ వర్గాలను భర్తీ చేసే ఫంక్షన్లు మరియు ప్రాపర్టీలను జోడించింది. ఉత్తమ అంశాలు:
clamp() — ద్రవ, సීమితమైన విలువలు
h1 { font-size: clamp(, , ); }
ఆధునిక CSS మీడియా-క్వెరీ మరియు JavaScript హ్యాక్ల యొక్క సంపూర్ణ వర్గాలను భర్తీ చేసే ఫంక్షన్లు మరియు ప్రాపర్టీలను జోడించింది. ఉత్తమ అంశాలు:
h1 { font-size: clamp(, , ); }
clamp(min, preferred, max) ద్రవ టైపోగ్రఫీ/స్పేసింగ్ ను ఇస్తుంది, ఇది వీక్ష్యపోర్ట్తో సున్నితంగా స్కేల్ చేస్తుంది కానీ సీమల్లోనే ఉంటుంది — అనేక బ్రేక్పాయింట్ల విలువ font-size మీడియా క్వెరీలను ఒక లైన్తో భర్తీ చేస్తుంది।
.video { aspect-ratio: 16 / 9; width: 100%; } /* height auto-computed to keep 16:9 */
.avatar { aspect-ratio: 1; } /* perfect square at any width */
ముందుగా, ప్రతిస్పందనశీల 16:9 పెట్టెను ఉంచడానికి అప్రఖ్యాత padding-bottom: 56.25% హ్యాక్ అవసరం. ఇప్పుడు ఇది ఒక ప్రకటన — మరియు చిత్రాలు లోడ్ చేయడానికి ముందు స్థలాన్ని సংరక్షిస్తుంది (CLS కోసం మంచిది).
.container { width: min(90%, 1200px); } /* whichever is SMALLER → fluid but capped */
.box { padding: max(1rem, 3vw); } /* whichever is LARGER → a minimum floor */
min()/max() చిన్న/పెద్ద విలువను ఎంచుకోండి, మీడియా క్వెరీ లేకుండా ఒక ప్రాపర్టీ ప్రతిస్పందనశీలంగా ఉండటానికి అనుమతిస్తుంది (ఉ.దా. "90% వెడల్పు, కానీ 1200px కంటే ఎక్కువ కాదు").
.card { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
subgrid నెస్ట్డ్ గ్రిడ్ను దాని పేరెంట్ ట్రాక్ లైన్లను వారసత్వం చేయడానికి అనుమతిస్తుంది, తద్వారా విభిన్న కార్డుల్లో (శీర్షికలు, శరీరాలు, బటన్లు) ఉన్న అంశాలు భాగస్వామ్య వరుసలలో సంపూర్ణంగా సంరేఖించబడతాయి — పూర్వానికి స్థిర ఎత్తులు లేకుండా సాధ్యమైనది కాదు.
.flex { display: flex; gap: 1rem; } /* gap now works in flexbox, not just grid */
ఈ ఫీచర్లు దీర్ఘకాలిక హ్యాక్లను తీసివేస్తాయి: clamp()/min()/max() ద్రవ సైజింగ్ కోసం మీడియా క్వెరీల సమూహాలను భర్తీ చేస్తుంది, aspect-ratio పాడింగ్ హ్యాక్ను భర్తీ చేస్తుంది మరియు లేআউట్ షిఫ్ట్ను రక్షిస్తుంది, మరియు subgrid భాగాల మధ్య సంరేఖణను పరిష్కరిస్తుంది.
వారు ప్రతిస్పందనశీల, సమానమైన లేआఉట్లను నాటకీయంగా సరళ్యంగా మరియు మరింత దృఢంగా చేస్తారు — ఆధునిక CSS ఆ విధంగా ప్రకటనాత్మకంగా చేస్తుంది, దీనికి గతంలో JS లేదా పూర్వపక్ష ట్రిక్ల అవసరం.