Логотип бренду
Шість чужих логотипів у ряд на головній: Optimum Nutrition, OstroVit, Power Pro. Робота 4 без жодного слова - ми возимо те, що ви вже знаєте. І всередині - найакуратніший запасний варіант у продукті: коробка сама помічає, що картинка не прийшла.
Розмітка звідси - та сама, що на home-buyer.html. Наведіть: сірий логотип бере свій колір.
.brandrow - 3 колонки до 620 і 6 від 620. Не флекс: шість логотипів різної ширини мусять стояти в рівних коробках, інакше ряд читається як список важливостіobject-fit: contain, grayscale(1) при непрозорості .86.bnm - слово замість картинки, і його не видно, доки картинка єЧому сіре. Шість чужих палітр поруч із єдиним помаранчевим системи - це шість конкурентів за увагу на головній. Знебарвлення робить із них фактуру, а не рекламу: ряд каже «ці бренди тут є», і жоден із них не голосніший за кнопку.
Картинка не завантажилась - розмітка прибирає її з дерева, після чого :has(img) перестає збігатись, і слово з'являється саме собою. Жодного класу-стану, жодного «якщо»: коробка не питає, чи картинка вдалась, вона питає, чи картинка є.
Заміряно на home-buyer.html | Значення |
|---|---|
| коробок / з картинкою | 6 / 6 |
.bnm у першої | display: none |
| картинка | 34 x 34, grayscale(1), непрозорість .86 |
| сітка на 1280 | шість колонок по 162, крок 12 |
| висота коробки | 62 |
Ім'я бренду при цьому не зникає ніколи. Поки картинка є, посилання зветься її alt; коли її немає - словом у .bnm. Читач з екрана чує «Optimum Nutrition» в обох випадках, і саме тому підпис можна ховати через display: none, а не тримати прихованим текстом.
Правило
Запасний варіант краще виводити з наявності, а не з прапорця. Прапорець хтось мусить поставити й не забути зняти;:has() над реальним деревом не має чого забувати.| Стан | Що робить | Чому так |
|---|---|---|
| спокій | сірий логотип, .86, край-волосина | фактура, а не реклама |
| наведення | колір повертається, край в акцент, підпис темніє | бренд оживає тільки тоді, коли ним цікавляться |
| картинки немає | з'являється слово .bnm, 14/700 | розібрано вище, і воно не потребує жодного класу |
| до 620 | три колонки замість шести | шість логотипів по 52px на телефоні не читаються |
| фокус | кільце браузера, синє rgb(0, 95, 204) | заміряно натисканням Tab, :focus-visible справді збігся. Те саме, що в .relbox і .certthumb |
Правило
Чужий знак працює на довіру мовчки. Ряд логотипів не потребує заголовка «нам довіряють»: людина впізнає банку, яку бачила в залі, і це переконливіше за будь-яке речення про це.Антиправило
Не став логотип бренду, якого не возиш. Знак у цьому ряду - обіцянка, що товар цієї марки в каталозі є. Порожня видача за натиском коштує дорожче, ніж коротший ряд..brandbox--card - та сама коробка логотипа, але на картці бренда в сітці: вища за рядкову, бо на картці логотип є головним, а не підписом.
Сторінка звіряє себе з файлом: 3 власні класи і 2 стани.
ПОВЕДІНКА НА ШИРИНІ - етап 10, крок 4
Від якого порогу:--bp-grid-2col, і воно вже стояло на реєстрі. Що саме міняється: ряд логотипів іде з трьох колонок у шість. Раунд молекул не змінив тут нічого, і це виправлення переклички: файл був у списку кандидатів на auto-fit, а замір показав ту саму причину, що й у плиток цілей - логотипів шість, збалансовані розкладки це 3 і 6, і заповнення дорогою дало б 4+2. Колонка виходить 88px і на 320, і на 620.Робота: ВІДПОВІДЬ. Рухається: рамка, колір, filter і прозорість логотипа. Тривалість --dur-fast (150ms), крива --ease-standard. Значення читаються через var(): підміна токена в браузері веде за собою кожне з них, тобто числа у файлі немає. При prefers-reduced-motion рух зникає, а стан лишається.
Прочитані з brand-logo.css: 5 семантичних ролей і 8 примітивів.
| Семантичні ролі (5) | Примітиви (8) |
|---|---|
--bg-page --line-action --line-hair --text-body --text-secondary | --dur-fast --ease-standard --fs-14 --fw-bold --radius-12 --size-52 --space-12 --space-16 |
Повз шкалу чотири числа: 1px волосини, 62px висоти коробки, 34px стелі логотипа і 620px точки перелому. Перші три - розміри цього малюнка й нікого більше; 620 - друга за вжитком точка перелому системи, вона стоїть у дев'яти файлах і має свій рядок у tokens.css з кроку 7.70.
Цей файл крок 7.80 не змінював. Три проходи по 40 екранах: нульовий прохід 0, різниця 0.
Вирішувач по всіх 8 селекторах: жодного мертвого оголошення. Одна лінія тут уже зникала - на 7.69, коли колірний блок повторював значення, яке структура вже поставила.
Чого бракує
- Стан «жодного логотипа не завантажилось» - шість слів у рамках виглядають як зламаний блок, і нічого цього не помічає
- Скільки брендів у ряду - шість написані вручну; правила «які шість» немає
- Своє кільце фокуса - разом із
.relboxі.certthumb. Питання відкрите .bnmобрізається - «BioTechUSA» у 162px коробці на 1280 влазить, у 3-колонковій на 360 -[?], довших назв у коді немає, щоб перевірити
Не домальовано наперед і не замовчано: етап 09 стартує з цього списку, зведеного в design/kit/docs/architecture.md.





