একটি desktop screen-এর জন্য আরামদায়কভাবে size করা একটি heading প্রায়ই একটি phone-এ oversized দেখায়, আর mobile-এর জন্য tune করা একটি size একটি desktop-এ ছোট দেখায়। Responsive typography মানে প্রতিটি breakpoint-এর জন্য আলাদা media query দরকার না হয়ে দুটোর মধ্যে মসৃণভাবে scale করা টেক্সট।
h1 { font-size: 24px; }
@media (min-width: 768px) {
h1 { font-size: 32px; }
}
@media (min-width: 1200px) {
h1 { font-size: 48px; }
}এটা কাজ করে, কিন্তু মসৃণভাবে scale না করে দৃশ্যমান step-এ লাফায়, আর প্রতিটি নতুন breakpoint-এর জন্য একটি নতুন rule দরকার।
vw (viewport width) screen size-এর সাথে ক্রমাগত scale করে, কিন্তু কোনো minimum বা maximum ছাড়াই — চরম size-এ টেক্সট পড়ার অযোগ্য ছোট বা বিশাল হয়ে যেতে পারে।
h1 {
font-size: 5vw;
}একটি viewport unit-কে (আগের CSS Function lesson থেকে) clamp()-এর সাথে মেশালে একটি নিরাপদ floor আর ceiling সহ মসৃণভাবে scale করে।
h1 {
font-size: clamp(1.75rem, 4vw + 1rem, 3.5rem);
}একটি clamp()-এর fixed প্রান্তের জন্য rem ব্যবহার একটি fixed px মানের মতো না, একজন user-এর browser font-size setting-কে সম্মান করে — যে কেউ তাদের default text size বাড়িয়েছে তাদের জন্য একটি আসল accessibility পার্থক্য।
একটি ভালো মানের দ্রুত পথ
এই সাইটের Clamp tool একটি সাধারণ min-size/max-size/viewport-range form থেকে উপরের মতো একটি মান generate করে — হাতে সংখ্যা tune করার বদলে সরাসরি এটা ব্যবহার করার যোগ্য।