<h1> скоро поменяет своё дефолтное отображениеСейчас браузеры, обрабатывая
<h1>, вложенные в секции, применяют к ним стили, которые визуально снижают их уровень (например, делая их похожими на <h2> или <h3> в зависимости от глубины вложенности). Речь идёт о стандартных стилях по умолчанию браузера. В скором времени все <h1> будут отображаться одинаково, поэтому для предотвращения проблем проверьте, что для заголовков в ваших проектах заданы явные стили.<h1>Level 1</h1>
<section>
<h1>Level 2</h1> <!-- выглядит как h2 -->
<section>
<h1>Level 3</h1> <!-- выглядит как h3 -->
<section>
<h1>Level 4</h1> <!-- выглядит как h4 -->
</section>
</section>
</section>
Почитать заметку https://shabalin.online/blog/css/default-heading-style/
👍6
Калибруем замедление процессора
В Chrome 134 появилась возможность откалибровать замедление процессора. Если раньше мы выбирали
Калибровку можно сделать один раз и забыть. В большинстве случаев, если вы хотите эмулировать типичный смартфон, достаточно выбрать «mid-tier mobile».
Добавил для вас подробную заметочку, где можно посмотреть, что тыкать в DevTools - https://shabalin.online/blog/devtools/cpu-throttling-calibration/
В Chrome 134 появилась возможность откалибровать замедление процессора. Если раньше мы выбирали
x4, x6 или x20, и не понимали, что это значит, то теперь можно запустить процесс калибровки относительно вашего процессора и получить скорость для слабых(«low-tier mobile») и средних мобильных устройств( «mid-tier mobile»).Калибровку можно сделать один раз и забыть. В большинстве случаев, если вы хотите эмулировать типичный смартфон, достаточно выбрать «mid-tier mobile».
Добавил для вас подробную заметочку, где можно посмотреть, что тыкать в DevTools - https://shabalin.online/blog/devtools/cpu-throttling-calibration/
shabalin.online
Калибровка замедления CPU
Сегодня узнаем о новой функции калибровки троттлинга в Chrome DevTools, которая помогает точнее эмулировать работу сайта на реальных мобильных устройствах. Вы узнаете, как использовать CPU-троттлинг, чтобы устранить узкие места производительности на основе…
❤3🔥2👍1
Более приватные :visited
Закончим эту неделю последней новостью про обновления Хрома. В Chrome 136 изменилась логика работы псевдокласса
Заметка уже на месте - https://shabalin.online/blog/css/visited-links-private/
Всем лёгкого понедельника 😘
Закончим эту неделю последней новостью про обновления Хрома. В Chrome 136 изменилась логика работы псевдокласса
:visited за счёт «разделения» истории посещённых ссылок. Эта новинка защищает пользователей от утечек приватных данных и решает старую проблему безопасности, существовавшую более 20 лет.Заметка уже на месте - https://shabalin.online/blog/css/visited-links-private/
Всем лёгкого понедельника 😘
❤6👍4🏆1
Жидкая(fluid) типографика
Накопилось много мыслей о том, как работать с жидкой типографикой в современном вебе — да и с типографикой в целом. Хочется поделиться ими, пусть и не всегда в строго структурированном виде.
Прямо сейчас у меня нет универсального рецепта в духе «делай так, и будет счастье», но есть потребность выложить всё, что крутится в голове. На этой неделе планирую бессистемно публиковать статьи о типографике в вебе. Возможно, к концу недели удастся собрать из всего этого приличный материал.
А пока — первые, ещё не отфильтрованные мысли можно прочитать в статье
«Введение: что такое „жидкая“ типографика?»
👉 https://shabalin.online/blog/css/fluid-typography/
Читать много, но я в вас верю! 💪
P.S. В тексте столько букв, что на них можно было бы сверстать три лендинга и один доклад на конференцию. Не благодарите :)
Накопилось много мыслей о том, как работать с жидкой типографикой в современном вебе — да и с типографикой в целом. Хочется поделиться ими, пусть и не всегда в строго структурированном виде.
Прямо сейчас у меня нет универсального рецепта в духе «делай так, и будет счастье», но есть потребность выложить всё, что крутится в голове. На этой неделе планирую бессистемно публиковать статьи о типографике в вебе. Возможно, к концу недели удастся собрать из всего этого приличный материал.
А пока — первые, ещё не отфильтрованные мысли можно прочитать в статье
«Введение: что такое „жидкая“ типографика?»
👉 https://shabalin.online/blog/css/fluid-typography/
Читать много, но я в вас верю! 💪
P.S. В тексте столько букв, что на них можно было бы сверстать три лендинга и один доклад на конференцию. Не благодарите :)
👍7🔥3
Инклюзивность тёмной темы и типографика
Продолжаю ковыряться в типографике. Инклюзивность тёмной темы и типографика — это не просто поменять чёрный на белый и наоборот. Тёмные оттенки могут буквально «съедать» буквы, делая их тоньше, точно так же, как я выгляжу стройнее, когда надеваю тёмный бадлон. Ещё стоит не забывать, что все люди не видят одинаково, но стоит повысить контрастность букв и множество проблем уходят сами собой.
Почитать можно в том же месте 👉 https://shabalin.online/blog/css/inclusive-dark-mode/
Продолжаю ковыряться в типографике. Инклюзивность тёмной темы и типографика — это не просто поменять чёрный на белый и наоборот. Тёмные оттенки могут буквально «съедать» буквы, делая их тоньше, точно так же, как я выгляжу стройнее, когда надеваю тёмный бадлон. Ещё стоит не забывать, что все люди не видят одинаково, но стоит повысить контрастность букв и множество проблем уходят сами собой.
Почитать можно в том же месте 👉 https://shabalin.online/blog/css/inclusive-dark-mode/
👍7🔥3
Размеры шрифта в настройках браузера
👉 Продолжаю отвечать на свои же вопросы о типографике: https://shabalin.online/blog/css/default-font-size/
Часто вижу, что дизайнеры и фронтендеры считают дефолтным размер шрифта
Мы не знаем, какое зрение у пользователя. Я вот, например, при зрении «единица» всё равно больше люблю размер шрифта
А проблема моя и остальных таких, как я, в том, что если указать дефолтный размер в браузере
👉 Продолжаю отвечать на свои же вопросы о типографике: https://shabalin.online/blog/css/default-font-size/
Часто вижу, что дизайнеры и фронтендеры считают дефолтным размер шрифта
16px и пляшут от этого значения, постоянно переводя r[em] `в `px и обратно с помощью калькулятора. Но ведь дефолт можно изменить в настройках браузера и, например, поставить 24px или наоборот — сделать более мелким, скажем, 10px.Мы не знаем, какое зрение у пользователя. Я вот, например, при зрении «единица» всё равно больше люблю размер шрифта
20px, чем 14px или 16px.А проблема моя и остальных таких, как я, в том, что если указать дефолтный размер в браузере
20px, на всех сайтах базовый размер шрифта будет любым, но только не 20px. Тут, конечно, очень выручает сочетание Ctrl+ в браузере.shabalin.online
Почему 16px больше не стандарт: как учитывать реальные пользовательские настройки шрифта
Разберёмся, почему нельзя считать 16px постоянным эквивалентом 1em, как корректно учитывать пользовательские предпочтения к размеру шрифта и зачем оставлять браузеру свободу в отображении текста.
👍3⚡1
Ультратонкие шрифты
я даже описание делать не буду
картиночка это сделает лучше, чем любое описание
👉 https://shabalin.online/blog/css/thin-fonts/
я даже описание делать не буду
картиночка это сделает лучше, чем любое описание
👉 https://shabalin.online/blog/css/thin-fonts/
😁6🤷♂1👍1👀1
24 апреля пойду на PiterJS. Там будет Саша Першин, гендир HTML Academy, с докладом "Negative border radius – не больно".
А потом скорее всего он поведёт меня в бар на афтепати, но это не точно
А потом скорее всего он поведёт меня в бар на афтепати, но это не точно
🔥4😁2🤔1
Forwarded from PiterJS (Наталья)
This media is not supported in your browser
VIEW IN TELEGRAM
✨ Ура! Скоро PiterJS #77
На митапе разберём кто круче — серверные или клиентские компоненты в React, и узнаем как сделать невозможное — negative border-radius на чистом CSS.
А батл между дизайнерами и программистами докажет: красота и код идут рука об руку (или в клинч!)
Так что тащите с собой и коллег из дизайнерского цеха - им тоже будет интересно 😉
24 апреля 19:00 в СПбГМТУ (Корабелка), Ленинский пр., 101, м. Ленинский Проспект.
Программа:
- Маргарита Лукина с докладом "Эволюция SSR в React приложениях"
- Холивар от PiterJS "дизайнеры vs кодеры"
- Александр Першин с докладом "Negative border radius – не больно"
✨Регистрация
Флудилка в Telegram | Группа ВКонтакте
На митапе разберём кто круче — серверные или клиентские компоненты в React, и узнаем как сделать невозможное — negative border-radius на чистом CSS.
А батл между дизайнерами и программистами докажет: красота и код идут рука об руку (или в клинч!)
Так что тащите с собой и коллег из дизайнерского цеха - им тоже будет интересно 😉
24 апреля 19:00 в СПбГМТУ (Корабелка), Ленинский пр., 101, м. Ленинский Проспект.
Программа:
- Маргарита Лукина с докладом "Эволюция SSR в React приложениях"
- Холивар от PiterJS "дизайнеры vs кодеры"
- Александр Першин с докладом "Negative border radius – не больно"
✨Регистрация
Флудилка в Telegram | Группа ВКонтакте
🤩3
Межгэповые декорации
Мы постоянно используем gap и в грид‑, и во флекс‑контексте благодаря спецификации CSS Box Alignment Module Level 3.
Чтобы красиво оформить пустоту, появившуюся благодаря gap, приходилось прибегать к множеству псевдоэлементов и порой нелёгкой математике в
Вчера вышла в черновике спецификация CSS Gap Decorations Module Level 1, которая позволяет рисовать внутри
Посмотрите примеры в статье:
👉 https://shabalin.online/blog/css/gap-decoration/
Мы постоянно используем gap и в грид‑, и во флекс‑контексте благодаря спецификации CSS Box Alignment Module Level 3.
Чтобы красиво оформить пустоту, появившуюся благодаря gap, приходилось прибегать к множеству псевдоэлементов и порой нелёгкой математике в
calc(), чтобы полосы внутри gap не накладывались друг на друга.Вчера вышла в черновике спецификация CSS Gap Decorations Module Level 1, которая позволяет рисовать внутри
gap полосы — и всё это без математических расчётов и псевдоэлементов: новые свойства автоматически обрезают линии в нужных местах.Посмотрите примеры в статье:
👉 https://shabalin.online/blog/css/gap-decoration/
🔥8❤2👍1
139 Firefox станет первым браузером с Temporal
👉https://shabalin.online/blog/javascript/firefox-first-browser-temporal/
Temporal — это новая встроенная API JavaScript, пришедшая на смену устаревшему
👉https://shabalin.online/blog/javascript/firefox-first-browser-temporal/
Temporal — это новая встроенная API JavaScript, пришедшая на смену устаревшему
Date. Она даёт неизменяемые объекты для дат, времени, часовых поясов и длительностей, устраняет баги со скрытой тайм‑зоной и упрощает арифметику («плюс месяц», «разница в днях») без сторонних библиотек.🔥9⚡1
Цветной вывод в Node.js
Только сегодня узнал, что в 21 версии ноды появилась нативная возможность красить вывод в терминал. Я всегда использовал для этого либо
А если хотите больше деталей, то добро пожаловать
👉 http://shabalin.online/blog/javascript/tips/node-styles/
Только сегодня узнал, что в 21 версии ноды появилась нативная возможность красить вывод в терминал. Я всегда использовал для этого либо
picocolor, либо chalk. import { styleText } from 'node:util';
console.log(styleText('magenta', 'Привет, мир!')); // фиолетовый текст
console.log(styleText('bgGreen', 'Успех!')); // зелёный фон
console.log(styleText('redBright', '🔥 Срочно чиним!')); // ярко-красный
А если хотите больше деталей, то добро пожаловать
👉 http://shabalin.online/blog/javascript/tips/node-styles/
🔥4👍1
Какие А-уровни по WCAG нужны на проекте
Наверняка слышали про уровни доступности по WCAG: A, AA, AAA. Это на вас не кричат, это вы повышаете доступность вашего интерфейса
С этими уровнями не всегда понятно к какому уровню стремиться. Хочется ААА, но он почти недостижим и требует огромных трудозатрат. Может тогда АА подойдёт? Всё так!
А почему можно почитать в заметочке
👉 https://shabalin.online/blog/ally/wcag-level-a/
Наверняка слышали про уровни доступности по WCAG: A, AA, AAA. Это на вас не кричат, это вы повышаете доступность вашего интерфейса
С этими уровнями не всегда понятно к какому уровню стремиться. Хочется ААА, но он почти недостижим и требует огромных трудозатрат. Может тогда АА подойдёт? Всё так!
А почему можно почитать в заметочке
👉 https://shabalin.online/blog/ally/wcag-level-a/
🔥4
CSS Hell
Отличная игра на знание CSS. Нужно передвинуть кружочки в нужное место, используя одно или два свойства.
https://csshell.com/
Отличная игра на знание CSS. Нужно передвинуть кружочки в нужное место, используя одно или два свойства.
https://csshell.com/
Csshell
CSS Hell
15 puzzles for the masochistic CSS fiend.
🔥5
Compute Pressure Level 1
Спецификация Compute Pressure Level 1 позволяет следить за нагрузкой процессора.
У нас появляется возможность следить за пятью значениями:
- nominal: Всё хорошо, запас мощности.
- fair: Нагрузка умеренная, автономность может падать.
- serious: Процессор сильно греется, возможен троттлинг.
- critical: Устройство близко к пределу — пора снижать нагрузку.
И в связи с этим замедлять процессы, например отдавать похуже качество видео или замедлять частоту кадров
Подробненько тут
👉 https://shabalin.online/blog/javascript/%D1%81ompute-pressure/
Спецификация Compute Pressure Level 1 позволяет следить за нагрузкой процессора.
У нас появляется возможность следить за пятью значениями:
- nominal: Всё хорошо, запас мощности.
- fair: Нагрузка умеренная, автономность может падать.
- serious: Процессор сильно греется, возможен троттлинг.
- critical: Устройство близко к пределу — пора снижать нагрузку.
И в связи с этим замедлять процессы, например отдавать похуже качество видео или замедлять частоту кадров
Подробненько тут
👉 https://shabalin.online/blog/javascript/%D1%81ompute-pressure/
🔥4
Принципы доступности веб-сайтов: Перфекционизм — враг
Тут в интернете завирусились принципы доступности веб-сайтов. Решил каждый день делиться с вами.
👉 https://shabalin.online/blog/ally/guiding-principles-perfection/
Тут в интернете завирусились принципы доступности веб-сайтов. Решил каждый день делиться с вами.
Ничто не является и не может быть на 100 % доступным. Любой, кто заявляет, что его продукт полностью доступен, либо лжёт, либо не понимает доступности, а чаще — оба сразу. Допустимо выпускать работу с недоступными элементами, если она вскоре станет более доступной. Делайте максимально возможное в заданных ограничениях. Если ограничения неразумны — оспаривайте их. Возможно, вам кажется, что вы не лучший специалист по доступности, но вы тот, кто может сделать достуность. Не оставляйте работу несуществующим «супергероям» по доступности.
👉 https://shabalin.online/blog/ally/guiding-principles-perfection/
👍4
Принципы доступности веб-сайтов: По умолчанию или смерть
Очередной принцип от Хейдона Пикеринга
👉 https://shabalin.online/blog/ally/guiding-principles-default-or-death/
Очередной принцип от Хейдона Пикеринга
Доступность принципиально не работает в качестве плагина, дополнения или опционального состояния. Если интерфейс предлагает опцию включить доступность, он недоступен. Низкоконтрастный переключатель, включающий высокую контрастность? Считайте, что вы проиграли. Категорически не работает и не может работать программное обеспечение для наложения доступности. Добавление доступных вещей поверх недоступных вещей не решает того, что должно быть решено. Конкретные функции, предлагаемые сторонними разработчиками, несущественны. Не поддавайтесь идеологии post hoc доступности любой ценой. Минимальный жизнеспособный продукт (MVP) без доступности не является даже минимально жизнеспособным.
👉 https://shabalin.online/blog/ally/guiding-principles-default-or-death/
Принципы доступности веб-сайтов: Паритет превыше всего
👉 https://shabalin.online/blog/ally/guiding-principles-parity-is-paramount/
Цель — не создать лучший или даже хороший опыт, а обеспечить сопоставимый опыт для разных пользователей. Интерфейсы не должны быть сложными для одних и простыми для других, хотя некоторые задачи неизбежно сложны, а контент — специфичен. Вы не выбираете, кто заинтересуется или справится. Если изображение служит шуткой, альтернативный текст не должен раскрывать её смысл или объяснять, почему смешно. Он должен передавать ту же шутку другими средствами. Шутка может быть оскорбительной или непонятной — это недостатки инклюзивности, а не доступности.
👉 https://shabalin.online/blog/ally/guiding-principles-parity-is-paramount/
Замыкания в JavaScript
Очередная статья в интернете про замыкание. Пытаюсь показать на практических примерах, где происходит замыкание.
👉 https://shabalin.online/blog/javascript/closure/
Очередная статья в интернете про замыкание. Пытаюсь показать на практических примерах, где происходит замыкание.
👉 https://shabalin.online/blog/javascript/closure/
🔥12👍2
Единицы измерения lh и rlh
Недавно удалось попробовать единицы измерения
-
-
что примечательно эти единицы измерения можно использовать в боксовой модели:
У блока будет отступ равный базовой высоте строки. Всё это позволяет удобнее создать и придерживаться вертикальному ритму.
👉 https://shabalin.online/blog/css/line-height-units/
Недавно удалось попробовать единицы измерения
lh и rlh:-
1lh — высота одной строки текущего шрифта при заданном line-height.-
1rlh — то же, но относительно корневого элемента, как rem по отношению к em.что примечательно эти единицы измерения можно использовать в боксовой модели:
.element {
padding-block: 1rlh;
margin-block: 1rlh;
}У блока будет отступ равный базовой высоте строки. Всё это позволяет удобнее создать и придерживаться вертикальному ритму.
👉 https://shabalin.online/blog/css/line-height-units/
👍6🔥4🙏1