Коля Шабалин и великий аттрактор кода
339 subscribers
230 photos
2 videos
328 links
Некий Коля Шабалин рассказывать про фронтенд, обучение, CSS-спецификации и фичи

Чат для общения: https://t.me/+W80kxMBPKvAwNzBi

Поддержать на Бусти - https://boosty.to/css-space
Download Telegram
Делайте область клика больше

Маленькие размеры цели затрудняют нажатие, что приводит к ошибкам. Увеличьте размер цели для более плавного взаимодействия. Проверьте, как это работает: наведите курсор на элемент, заметите разницу? Оптимальный размер цели, согласно рекомендациям, составляет 44x44 пикселя CSS.

- Применяйте закон Фиттса - больше целей, быстрее действия! Не забывайте про интервалы, чтобы избежать случайных нажатий.
- Визуальная обратная связь улучшает пользовательский опыт.
- Тестируйте и адаптируйте различные варианты ввода.
- Учитывайте "проблему толстых пальцев". Перчатки?
- Следите за изменением угла касания.
- Мелкие цели - это проблема.
- Расстояние имеет значение!
- Знайте методы определения размера цели - изучите примеры: навигация по сайту, выпадающие элементы, кнопки-иконки.

Обеспечьте большие размеры для доступности и удобства использования.

Отличнейший мануал по размерам интерактивных элементов: https://ishadeed.com/article/target-size
🔥1
Safari Technology Preview 186

- Добавлена поддержка :any-link,:link и :-webkit-any-link внутри :has()
- Добавлена поддержка :scope внутри @scope.
- Добавлена поддержка align-content ячеек таблицы
- content-visibility теперь анимируемый

Продолжает играться с <input type="checkbox" switch>
- Добавлена ​​поддержка кольца фокусировки для <input type="checkbox" switch>
- Добавлена ​​поддержка вертикального рендеринга для файлов <input type="checkbox" switch>

и многое другое: https://webkit.org/blog/14916/release-notes-for-safari-technology-preview-186/
Демонстрация того, что сегодня умеют PWA

Оно из самых важных умений это возможность работать с файловой системой. Интересно, а чего не умеет PWA по сравнению с обычным приложением?

Всё внутри: https://whatpwacando.today/
👍1
Буквально все разработчики сегодня написали, что вышел Interop 2024.

Основной фокус на этот год:
- Доступность
- CSS вложенность(nesting)
- Кастомные свойства
- Декларативный Shadow DOM
- font-size-adjust
- HTTPS URLs для WebSocket
- IndexedDB
- Сетки: флексы и гриды
- События Pointer and Mouse
- Popover API
- Относительные цвета
- requestVideoFrameCallback
- стили скролбара
- @starting-style и transition-behavior
- Направленность текста
- text-wrap: balance
- URL

Дашборд

Статья от гуглов - https://web.dev/blog/interop-2024
👍2
12 современных обновлений одной строкой для вашего CSS

/* До */
margin-left: auto;
margin-right: auto;

/* После */
margin-inline: auto;


:is(h1, h2, h3, h4, .text-balance) {
text-wrap: balance;
}


p {
text-wrap: pretty;
}


Посмотреть остальные: https://moderncss.dev/12-modern-css-one-line-upgrades/
🔥7👍1
Автоматически увеличивающиеся элементы форм

Продолжает продвигаться свойство field-sizing, которое позволяет полям формы изменять свой размер под контент. Это удобно, например, для многострочных <textarea>.

Пока предлагает два значения:
- field-sizing: fixed; - значение по умолчанию. Сохраняет текущее поведение.
- field-sizing: content; - отключает функцию сохранения постоянного размера элемента управления формой, позволяя определять размер на основе содержимого.

Свойство нигде не работает
😭2😁1😈1
<head>

Самый полный список того, что вы можете указать в <head>.

https://github.com/htmlacademy/HEAD, изначально я форкнул репозиторий и просто перевёл его. Оказалось, что оригинальный репозиторий не имеет многих современных мета-тегов, а в итоге стало понятно, что оригинальный репозиторий больше не развивается. Часть мета-тегов я перевёл в "устаревшие" для истории.

Ставьте звёздочки. Если есть предложения по улучшению - пишите мне.
🔥11💯1
Пагинация

Узнайте всё про визуальный паттерн "Пагинация". В статье шаг за шагом усложняют пагинацию. Из интересного: посмотрите как делать пагинацию для бесконечного контента, например новостные ленты в соц.сетях.

Статья: https://coyleandrew.medium.com/design-better-pagination-a022a3b161e1
🔥6
Тренировка JS

Если хотите потренировать HTML/CSS и простой JavaScript, то для вас есть пошаговое руководство по созданию конвертера валюта.

Пошаговое руководство: https://webdesign.tutsplus.com/currency-converter-with-html-css-and-vanilla-javascript--cms-108362t
2👍2
Когда использовать text-wrap: balance, а когда pretty?

Очередная статья подтверждающая слова гуглов, что balance лучше использовать для заголовков или чего угодно с маленьким количеством текста, до шести строк, иначе производительность резко падает.

h1, h2, h3, h4, h5, h6, blockquote { text-wrap: balance; }


pretty же применяется для последних четырёх строк поэтому он чуть более производительный, а значит можно применять к большому массиву текстов.

p {
text-wrap: pretty;
}


Статья: https://blog.stephaniestimac.com/posts/2023/10/css-text-wrap/
Не отключайте кнопки

Не указывайте кнопкам disabled, если у вас есть требование заполнить все поля.

Вот несколько причин почему так лучше не отключать кнопки:
- Они не дают обратной связи
- Из-за них интерфейс кажется сломанным
- Их трудно заметить
- На них не сфокусироваться (по мне это самое важное)
- Они обманчивы
- Пользователи могут не заметить, что кнопка стала активной

Посмотрите визуально на все проблемы из списка - https://adamsilver.io/blog/the-problem-with-disabled-buttons-and-what-to-do-instead/
Большие изменения Apple в iOS, Safari и App Store в Европейском Союзе

Масштабные изменения грядут для пользователей iOS, Safari и App Store в ЕС, однако разработчикам по всему миру тоже нужно быть в курсе изменений. Особое внимание разработчиков фронтенда привлечет внедрение альтернативных браузерных движков (т. е. браузеров, работающих не на базе WebKit), начиная с iOS 17.4. Однако не все так просто...

https://www.apple.com/newsroom/2024/01/apple-announces-changes-to-ios-safari-and-the-app-store-in-the-european-union/
Выделение текста, когда пользователь прокручивает вниз до этого фрагмента текста

Классный эффект, когда вы докручиваете до выделенного текста с помощью CSS

Изучить: https://frontendmasters.com/blog/highlight-text-when-a-user-scrolls-down-to-that-piece-of-text/
🔥3
понеслась

Mozilla заявляет, что новые правила браузера Apple «настолько болезненны, насколько это возможно» для Firefox

https://www.theverge.com/2024/1/26/24052067/mozilla-apple-ios-browser-rules-firefox
😁3
Что было в январе. Вспоминает Рейчел Эндрю

- <hr> в <select>
- HTMLSelectElement.showPicker
- Largest Contentful Paint (LCP) API
- Свойства полосы прокрутки CSS
- CSS font-palette animation
- Методы transfer() и transferToFixedLength() буфера ArrayBuffer

В блоге: https://web.dev/blog/web-platform-01-2024
В каком мире мы вообще живём?

Знали ли вы, что PNG произносится как «пинг»? И это написано в спецификации

> Portable Network Graphics (PNG, pronounced "ping") 😱😱😱

https://www.w3.org/TR/2003/REC-PNG-20031110/#1Scope
😱9😁4🤪1
Switch на современных CSS техниках

:has(), кастомные свойства, выражения от контейнера, логические свойства, inset - всё это и многое другое.

https://piccalil.li/blog/a-highly-configurable-switch-component-using-modern-css/
Блокировка прокрутки с помощью :has()

Интересный приём по скрытию скрола и отслеживания этого на элементах

body:has(.lock-scroll) {
overflow: hidden;
}


<dialog class="lock-scroll">
<!-- some wonderful modal content -->
</dialog>


Если у элемента появляется класс lock-scroll, то у body убирается скрол.

Подробнее: https://robbowen.digital/wrote-about/locking-scroll-with-has/
🔥61
@property в CSS

Полная поддержка @property в браузерах близится к завершению. @property позволяет проверить тип кастомного свойства, а также определить поведение наследования

@property --primary-color {
syntax: "<color>";
inherits: true;
initial-value: #ea1ca5;
}


body {
background-color: var(--primary-color);
}


Больше в статье: https://utilitybend.com/blog/taking-a-closer-look-at-property-in-css/
👍3