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

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

Поддержать на Бусти - https://boosty.to/css-space
Download Telegram
Автоматически увеличивающиеся элементы форм

Продолжает продвигаться свойство 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
Как сделать внешние ссылки доступными

Внешняя ссылка может открываться в той же вкладке или в новой вкладке. В статье рассматривается почему большинство внешних ссылок должны открываться но одной вкладке: https://blog.pope.tech/2024/01/02/how-to-make-external-links-accessible/
👍4
border-image

Одно из сложнейших, для понимания, CSS-свойств border-image. Очередная статья пытается нас рассказать как делать градиенты, и даже конические градиенты для border.

Статья: https://www.smashingmagazine.com/2024/01/css-border-image-property/
👍41
CSS Motion Path

Наткнулся на статью, объясняющую свойство CSS Motion Path. Это свойство позволяет анимировать элементы по заранее заданному пути непосредственно с помощью CSS, минуя необходимость в сложных вычислениях или использовании библиотек JavaScript. В статье приведено несколько примеров, таких как анимация квадрата по кривой "S", перемещение текста по кривой и значок автомобиля, который перемещается в зависимости от положения прокрутки.

Статья: https://www.letsbuildui.dev/articles/what-is-css-motion-path/
🔥3
Палитра анимированных шрифтов

> С выпуском Chrome 121 мы теперь можем анимировать плавный переход между палитрами шрифтов в Color Fonts, используя только CSS.

<h1>Jello</h1>


@font-palette-values --base {
font-family: "Bungee Spice";
override-colors: 0 #1894b0, 1 #fc00fc;
}

@font-palette-values --transition {
font-family: "Bungee Spice";
override-colors: 0 #fc00fc, 1 #4200d9;
}

h1 {
font-family: "Bungee Spice", sans-serif;
font-palette: --base;
transition: ease 250ms font-palette;
}

h1:hover {
font-palette: --transition;
}
👍1
Использование элемента <abbr> с атрибутом `title`

Использование тега <abbr> с атрибутом title представляет собой эффективный способ добавления аббревиатур или сокращений, обеспечивая при этом их расшифровку для пользователя. Вот пример кода, иллюстрирующий это:

<p>
Join <abbr title="National Aeronautics and Space Administration">NASA</abbr> for a briefing on its zero-G espresso cup, powered by capillary action!
</p>


Реализация и отображение тега <abbr> значительно различается в зависимости от браузера и даже операционной системы.

Посмотрите на результаты тестирования в различных средах: https://adrianroselli.com/2024/01/using-abbr-element-with-title-attribute.html

Вывод: Не используйте <abbr> с заголовком или без него. Показ информации в браузерах и вспомогательных технологиях оставляет желать лучшего. Некоторые пользователи всегда будут пропускать какую-то часть информации.

Объясняйте аббревиатуры, акронимы, инициализмы, нумеронимы и т. д. при первом использовании, а затем не стесняйтесь возвращаться к сокращенной форме.
👍3
Знакомство с веб-компонентами - введение

Статья для тех, кто хочет просто попробовать и немного прикоснуться к веб-компонентам. В статье автор пошагово раскрывает из чего состоят веб-компоненты. Дело в том, что веб-компоненты это не одна спецификация, а сразу четыре.

В итоге в статье автор показывает свой первый "глупый" веб-компонент, который он опубликовал в npm - https://utilitybend.com/blog/getting-into-web-components-an-intro/
👍5