Довгий час я намагався досягти ідеального візуального складу на веб-сторінках. У мене велика кількість болю з CSS з точки зору зупинок в моїй повсякденній роботі і ніколи не була цілком задоволена загальними способами обробки чутливого макета. Нещодавно я виявив дуже здорово Реактивний веб-дизайн Трюк, який робить все простий, послідовний і логічний, і я прагну поділитися з вами.
Ця стаття в основному стосується творчого розвитку, тому це для обох: розробники переднього кінця, які можуть знайти корисну техніку, а веб-дизайнери, які повинні мати загальне розуміння веб-продукції та способу покращення кінцевого випуску. Я припускаю, що ви вже знаєте про CSS, точки зупинки та засобів масової інформації.
Портативні пристрої беруть у світ. Різноманітність всіх видів пристроїв змінюють спосіб створення веб-сайтів. За допомогою "чутливого веб-сайту" більшість людей припускають лише настільні та мобільні версії (іноді робочий стіл, планшет, мобільний). Ось як це традиційно працює:
H1 {
шрифт: 80px;
}
.container {
Ширина: 980px;
маржа: 0 AUTO;
}
@Media (Max-ширина: 1023px) {
h1 {
Шрифт-розмір: 48px;
}
.container {
Ширина: Авто;
Прокладка: 0 30px;
}
}
Насправді, як правило, Макет веб-сайту Ми бачимо, що це не зроблено для нашого пристрою. Наприклад, давайте подивимося, як ми налаштуємо розмір шрифту & lt; h1 & gt; Назва:
Ви бачите, наш & lt; h1 & gt; Назва має "шрифт-розмір: 48px" на пристрої ширини 320px та 800px та "шрифт-розмір: 80px" на 1024PX та 2560px.
Звичайно, ми можемо додати більше точок зупинки, але кількість різних пристроїв незліченна! Це збирається зробити конструкційні характеристики дуже складними та заплутаними, тому що важко знати, яке значення застосовується до якого екрана.
Що нам дійсно потрібно:
Рішення цієї проблеми передбачає одиниці VODESPORT VW та VH. Це довжини, що представляють 1/100-й ширину / висоту перегляду (широко підтримуються браузерами з IE9 +).
Ми можемо використовувати ці для налаштування властивостей веб-сторінки відповідно до його розміру. Ситуація отримає трохи краще, але біль все ще однакова:
H1 {
Шрифт-розмір: Calc ((80/1920) * 100VW;
}
.container {
Ширина: 80vw;
маржа: 0 AUTO;
}
@Media (Max-ширина: 1023px) {
h1 {
Шрифт-розмір: Calc ((48/375) * 100VW;
}
.container {
Ширина: 90в.
}
}
Ми ніколи не знаємо, якщо це занадто велика або занадто мала.
Як ми можемо побудувати справжню систему адаптивної макети? Як ви розробляємо чуйний веб-сайт, який працює на 100-220px до 2560 пікселів?
В ідеалі, ваш макет повинен пояснити логіку за макетом, і як він адаптує з меншого дозволу на більший:
Ми хочемо постійно налаштувати властивості з невеликого екрану до великого. Немає зупинок, а не задачі медіа. Те, що ми хочемо, це одне значення, яке працює для кожного дисплея.
Функція математики з двома змінами є ключем. Наприклад, якщо ми хочемо налаштувати розмір шрифту заголовка, функція повинна виглядати так:
1920x + y = 80
375x + y = 48
1920 - Ширина робочого столу за замовчуванням у макеті дизайну (дорівнює 100VW)
375 - Мобільна ширина за умовчанням у макеті дизайну (дорівнює 100VW)
80 - Бажаний розмір шрифту H1 на робочому столі
48 - Бажаний розмір шрифту H1 на мобільному телефоні
Це значення x та y:
x = (80 - 48) / (1920 - 375)
x = 0.0207
y = 80 - 1920 * 0.0207
y = 40.256
Щоб використовувати ці значення, нам знадобиться функція Calc CSS для виконання розрахунків на веб-сторінці (широко підтримується браузерами з IE9 +). Ми повинні розраховувати x * 100 разів (тому, що 1VW блок = 1/100-го від ширини перегляду).
Ми беремо нашу оригінальну функцію:
1920x + y = 80
375x + y = 48
Замінити 1920 з 100VW:
100vw * x + y = бажане значення
Замінити x і y з значеннями:
100VW * 0.0207 + 40.256 = Бажане значення
Ми отримуємо остаточний стиль CSS:
H1 {шрифт-розмір: Calc (2.07VW + 40.25px)}
Дивно, що, нарешті, працює, як ми хотіли!
Тільки одне властивість для всіх дисплеїв. Не потрібно перезаписати значення знову і знову. Ви можете налаштувати та обчислити будь-які види властивостей: ширина, розмір шрифту, підкладка, маржа тощо.
Давайте спробуємо побудувати фактичний макет, використовуючи цю техніку:
Але цей підхід має один недолік: важко зрозуміти, яке значення стоїть за цією функцією кальку. Як ми можемо спростити його?
Якщо ви кодуєте HTML щодня, ви, мабуть, знайомі з попередніми процесорами SASS / SCSS. Ось невелика допомога для вас: давайте зробимо "mixin" і зробити всі ці розрахунки відбуваються автоматично, і все ще зберігайте наші початкові значення.
Це та ж функція, як описано вище, але зроблена як SASS Mixin:
$ Дисплей: 1920
$ display-large: 375
@mixin рідина ($ власності, $ minvalue, $ maxvalue)
$ x: ($ maxvalue - $ minvalue) / ($ display-wide - $ display-large)
$ Y: $ maxvalue - $ display-wide * $ x
# {$ власності}: Calc (# {100 * $ x} vw + # {$ y} px)
h1
@Vlude Fluid ("шрифт-розмір", 48,80)
.container
@include рідина ("ширина", 315,1580)
@Vlude Fluid ("підкладка", 30,60)
Ця техніка Забезпечує дуже складне рішення, щоб остаточно побудувати справді чуйні веб-макети. Він підтримує більшість браузерів, забезпечує правильний проект, щоб бути правильним показником відвідувача, спрощує структуру ваших стилів, і найголовніше, робить ваш веб-макет послідовним та логічним. Я сподіваюся, що це допоможе вам запустити деякі вражаючі веб-проекти.
Пов'язані статті:
Навчаючись, як намалювати шию та плечі, це часто може бути складним, щоб показати обсяги в нашій роботі, т..
(Зображення кредиту: Lino Driheghe) Якщо ви застрягли, дивлячись на пор..
Часто це найпростіший ефект, який виглядає найбільш вражаючим, а текст..
Любов втратив Канади Jam3 це красиво темна, мобільна-готова інтерак�..
Переміщення над YouTube ... з & lt; відео & gt; елемент і трохи Javascript ..
Крило є відносно новою програмою, і це більше, ніж просто двигун, макет або інструмент розробки. Clar..
Дизайн для всіх пристроїв! Anna dahlström буде говорит�..