CSS clamp() ఫ్లూయిడ్ టైపోగ్రఫీ కాలిక్యులేటర్
ఫ్లూయిడ్ టైపోగ్రఫీ అనేది మీడియా క్వరీ బ్రేక్పాయింట్ల వద్ద అకస్మాత్తుగా మారడానికి బదులుగా, వ్యూపోర్ట్తో పాటు ఫాంట్ సైజ్ను సాఫీగా స్కేల్ చేసుకోనిస్తుంది. CSS clamp() ఫంక్షన్ దీన్ని ఒకే లైన్లో సాధ్యం చేస్తుంది: ఇది కనీస విలువ, ఒక ప్రిఫర్డ్ విలువ (సాధారణంగా వ్యూపోర్ట్-వెడల్పు యూనిట్లలో), గరిష్ట విలువను తీసుకుంటుంది, వ్యూపోర్ట్ పరిమాణం మారినప్పుడు బ్రౌజర్ వీటి మధ్య నిరంతరం ఇంటర్పొలేట్ చేస్తుంది.
ఈ కాలిక్యులేటర్ ఏమి చేస్తుంది
మీరు అందించేవి:
- కనీస వ్యూపోర్ట్ వెడల్పు మరియు దాని వద్ద (లేదా అంతకంటే తక్కువ) కావలసిన ఫాంట్ సైజ్
- గరిష్ట వ్యూపోర్ట్ వెడల్పు మరియు దాని వద్ద (లేదా అంతకంటే ఎక్కువ) కావలసిన ఫాంట్ సైజ్
- మీ రూట్ ఫాంట్ సైజ్ (సాధారణంగా 16px, పిక్సెల్ విలువలను
remగా మార్చడానికి ఉపయోగిస్తారు)
ఆ రెండు పాయింట్లను కలిపే లీనియర్ ఫంక్షన్ను కాలిక్యులేటర్ లెక్కించి, దానిని వాడటానికి సిద్ధంగా ఉన్న clamp() డిక్లరేషన్గా చూపిస్తుంది, అలాగే సాధారణ డివైస్ బ్రేక్పాయింట్ల వద్ద వచ్చే ఫాంట్ సైజ్ను చూపే ప్రివ్యూ టేబుల్ను కూడా అందిస్తుంది.
సూత్రం
కనీస మరియు గరిష్ట వ్యూపోర్ట్ వెడల్పుల మధ్య, ఫాంట్ సైజ్ వ్యూపోర్ట్ వెడల్పుతో పాటు లీనియర్గా స్కేల్ అవుతుంది. మార్పు రేటు ("స్లోప్"):
ఆ స్లోప్, శాతంగా వ్యక్తీకరించినప్పుడు, ప్రిఫర్డ్ విలువలో వ్యూపోర్ట్-వెడల్పు (vw) గుణకం అవుతుంది. రేఖ యొక్క y-ఇంటర్సెప్ట్ (remలో) సంకలిత స్థిరాంకం అవుతుంది:
కనీస వ్యూపోర్ట్ కంటే తక్కువగా, విలువ minFontSizeకు క్లాంప్ చేయబడుతుంది. గరిష్ట వ్యూపోర్ట్ కంటే ఎక్కువగా, ఇది maxFontSizeకు క్లాంప్ చేయబడుతుంది. ఇది సరిగ్గా clamp(min, preferred, max) CSSలో సహజంగా చేసేదే - మీడియా క్వరీలు అవసరం లేదు.
దీన్ని ఎలా ఉపయోగించాలి
- మీ కనీస వ్యూపోర్ట్ వెడల్పు (ఉదా. చిన్న ఫోన్లకు 320px) మరియు అక్కడ కావలసిన ఫాంట్ సైజ్ను నమోదు చేయండి.
- మీ గరిష్ట వ్యూపోర్ట్ వెడల్పు (ఉదా. సాధారణ డెస్క్టాప్కు 1440px) మరియు అక్కడ కావలసిన ఫాంట్ సైజ్ను నమోదు చేయండి.
- మీ రూట్ ఫాంట్ సైజ్ డిఫాల్ట్ 16px కాకపోతే దానిని నమోదు చేయండి.
- జనరేట్ చేసిన
font-size: clamp(...)డిక్లరేషన్ను నేరుగా మీ CSSలోకి కాపీ చేయండి. - మీకు ముఖ్యమైన బ్రేక్పాయింట్ల వద్ద సైజ్ సరిగ్గా కనిపిస్తుందో లేదో నిర్ధారించుకోవడానికి ప్రివ్యూ టేబుల్ను తనిఖీ చేయండి.
పరిష్కరించిన ఉదాహరణ
బాడీ టెక్స్ట్ 320px వెడల్పు గల ఫోన్లో 16px నుండి 1280px వెడల్పు గల డెస్క్టాప్లో 20px వరకు స్కేల్ కావాలని అనుకుందాం, 16px రూట్ ఫాంట్ సైజ్తో:
- స్లోప్:
(20 - 16) / (1280 - 320) = 0.004167px per px, లేదా0.4167vw - Y-ఇంటర్సెప్ట్:
16 - 0.004167 × 320 = 14.667px→0.9167rem - ఫలితం:
font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
768px వ్యూపోర్ట్ వద్ద, ఇది సుమారు 17.87px కు లెక్కించబడుతుంది - మధ్యలో సాఫీగా, ఏ నిర్దిష్ట బ్రేక్పాయింట్ వద్ద కనిపించే "జంప్" లేకుండా.
మీడియా క్వరీలకు బదులుగా clamp() ఎందుకు ఉపయోగించాలి
- నిర్వహించాల్సిన బ్రేక్పాయింట్లు తక్కువ: ఒకే డిక్లరేషన్ అనేక
@mediaనియమాలను భర్తీ చేస్తుంది. - కనిపించే జంప్లు లేవు: విండో పరిమాణం మార్చినప్పుడు టెక్స్ట్ నిరంతరం పరిమాణం మారుతుంది, ఇది ఆకస్మిక మార్పు కంటే మెరుగ్గా అనిపిస్తుంది.
- డిఫాల్ట్గా యాక్సెసిబుల్: విలువ నిజమైన
rem-ఆధారిత సైజుల వద్ద కనీస మరియు గరిష్టంగా ఉండటం వల్ల, ఇది ఫిక్స్డ్-vwసైజింగ్ మాత్రమే కాకుండా, వినియోగదారు బ్రౌజర్ జూమ్ మరియు బేస్ ఫాంట్ సైజ్ సెట్టింగ్లను గౌరవిస్తుంది.