Для зміни розміру тексту веб-сторінки спільно з вікном браузера є кілька способів. Розглянемо найпопулярніші.
Використання одиниць vw
Розмір тексту задається за допомогою властивості font-size, як значення можна вказувати різні одиниці — пікселі, пункти, міліметри та ін. Одиниця vw (від англ. приклад 1).
Приклад 1. Використання vw
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Розмір тексту</title> <style> section h2 { font-size: 3vw; /* Розмір заголовка */ } section div { font-size: 2vw; /* Розмір тексту */ } </style> </head> <body> <section> <h2>Для педагогів</h2> <div> Сучасна освітня парадигма, ратифікуючи пріоритет особистісної орієнтації педагогічного процесу, під час якого здійснюється розвиток природних задатків, закладених у кожному індивідуумі, потребує переосмислення існуючих традиційних форм та методів загальнообов'язкової освіти. </div> </section> </body> </html>
Результат цього прикладу показаний на рис. 1.
а
б
Рис. 1. а — текст на широкому вікні; б — текст на вузькому вікні
У одиниці vw є кілька недоліків — головне, що текст зменшується пропорційно до вікна і в якийсь момент стає нечитаним. Це буде особливо помітно на смартфонах, де ширина екрана менша за ширину моніторів. Щоб встановити мінімальний розмір тексту, можна скористатися функцією calc(), як показано в прикладі 2.
Приклад 2 Використання calc()
section h2 { font-size: calc(1rem + 2vw); } section div { font-size: calc(14px + 1vw); }
Тут ми змішуємо різні одиниці — для заголовка rem та vw, для основного тексту пікселі та vw. Використання calc() гарантує, що текст не стане меншим від зазначеного значення (для заголовка, наприклад, це 1rem).
Використання медіа-запитів
Оскільки одиниці vw зав'язані на ширину області перегляду, то при збільшенні розміру вікна збільшується розмір тексту. Іноді потрібно зробити навпаки — на маленьких екранах показувати великий текст, а на великих екранах, відповідно, маленький текст. Для цього застосовуються медіа-запити, вони змінюють стиль елементів за певної ширини вікна браузера.
Спершу визначаємо стиль для великих екранів, потім за допомогою конструкції @media screen and (max-width: 1024px) задаємо стиль для екранів з шириною до 1024 пікселів . Всередині @media пишеться розмір тексту для цього розміру. За бажанням нижче додаємо ще кілька @media з різними значеннями max-width (приклад 3).
Приклад 3. Використання @media
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Розмір тексту</title> <style> /* Для всіх екранів */ section h2 { font-size: 2rem; } section div { font-size: 1rem; } /* Для ширини 1024 пікселів і менше */ @media screen and (max-width: 1024px) { section h2 { font-size: 2.2rem; } section div { font-size: 1.2rem; } } /* Для ширини 600 пікселів і менше */ @media screen and (max-width: 600px) { section h2 { font-size: 2.5rem; } section div { font-size: 1.5rem; } } </style> </head> <body> <section> <h2>Для педагогів</h2> <div> Сучасна освітня парадигма, ратифікуючи пріоритет особистісної орієнтації педагогічного процесу, під час якого здійснюється розвиток природних задатків, закладених у кожному індивідуумі, потребує переосмислення існуючих традиційних форм та методів загальнообов'язкової освіти. </div> </section> </body> </html>
Розмір тексту в даному випадку буде змінюватися не плавно, а ступінчасто — при досягненні вказаної ширини вікна розмір тексту зменшується або збільшується.