30 лет HTML
В 1993 году, а именно 3 декабря, появиля документ об HTML.
Тогда было "модно" писать все теги прописными
В 1993 году, а именно 3 декабря, появиля документ об HTML.
Тогда было "модно" писать все теги прописными
<TITLE>, <P>, а марджины делались с помощью <BR><BR><BR>👍5
NaN
Узнайте о работе с null, undefined и
В статье подчеркивается, что
Также рассматривается использование функций
В общем, "NaN or not NaN, that is the question". Надо бы разобраться прочитав статью https://css-irl.info/nan-or-not-a-number/
Узнайте о работе с null, undefined и
0 значениями в JavaScript, в частности в контексте функции isNaN(). isNaN() - это глобальная функция, используемая для определения того, оценивается ли значение как NaN (Not A Number), что обычно происходит в JavaScript в результате невозможных математических операций или передачи в функцию значений неправильного типа.В статье подчеркивается, что
isNaN() пытается преобразовать значение в число перед его оценкой. Такое поведение может привести к неожиданным результатам при проверке некоторых нечисловых значений, таких как null, пустые строки "" и undefined. Для решения этой проблемы в тексте представлена более надежная функция Number.isNaN(), которая не пытается преобразовать значение в число.Также рассматривается использование функций
isNaN() и Number.isNaN() для фильтрации данных, при этом подчеркивается, что эти функции только проверяют, не является ли значение NaN, а не подтверждают, является ли оно числом. Чтобы убедиться, что фильтруются только числа, в тексте предлагается проверять тип каждого значения с помощью typeof. Однако в тексте признается, что NaN считается типом числа, поэтому для более полного решения необходимы дополнительные проверки с помощью функции isNaN().В общем, "NaN or not NaN, that is the question". Надо бы разобраться прочитав статью https://css-irl.info/nan-or-not-a-number/
CSS { In Real Life }
NaN or Not a Number?
Day 9 of National Blog Posting Month #NaBloPoMo
Ваш софт не очень
Помните нытьё про то, что весь софт дырявый. Это касается абсолютно всех компаний. Например, если у вас старый AMD процессор, то вы могли не увидеть миниатюр изображений. А вот в 122 Firefox уже увидите - https://www.mozilla.org/en-US/firefox/122.0a1/releasenotes/#note-789894
Помните нытьё про то, что весь софт дырявый. Это касается абсолютно всех компаний. Например, если у вас старый AMD процессор, то вы могли не увидеть миниатюр изображений. А вот в 122 Firefox уже увидите - https://www.mozilla.org/en-US/firefox/122.0a1/releasenotes/#note-789894
Mozilla
Firefox Nightly 122.0a1, See All New Features, Updates and Fixes
Кастомные свойства расцветают всё лучше и лучше
Скоро возможность использования кастомных свойств в
Скоро возможность использования кастомных свойств в
<dialog> для ::backdrop заработает везде. Раньше по спецификации ::backdrop удалялся из цепочки наследования, теперь спецификацию поправили, а за спецификацией начинают подтягиваться браузеры.Гонимся за Core Web Vitals
Сложное чтиво на вечер.
First Input Delay (FID) заменяется на новую метрику Interaction to Next Paint (INP), начиная с марта 2024 года. Это связано с тем, что отчёты о производительности часто не соответствуют реальному взаимодействию с интерфейсами. Лучше всегда перепроверять с помощью PageSpeed Insights или аналогичных инструментов, типа DebugBear.
В статье полностью раскрывается метрика INP и как она оценивает всё взаимодействие пользователя, а не конкретное место.
Статья: https://www.smashingmagazine.com/2023/12/preparing-interaction-next-paint-web-core-vital/
Сложное чтиво на вечер.
First Input Delay (FID) заменяется на новую метрику Interaction to Next Paint (INP), начиная с марта 2024 года. Это связано с тем, что отчёты о производительности часто не соответствуют реальному взаимодействию с интерфейсами. Лучше всегда перепроверять с помощью PageSpeed Insights или аналогичных инструментов, типа DebugBear.
В статье полностью раскрывается метрика INP и как она оценивает всё взаимодействие пользователя, а не конкретное место.
Статья: https://www.smashingmagazine.com/2023/12/preparing-interaction-next-paint-web-core-vital/
Smashing Magazine
Preparing For Interaction To Next Paint, A New Web Core Vital — Smashing Magazine
Starting in March 2024, Interaction to Next Paint will formally replace First Input Delay as a Core Web Vital metric. Learn how the two metrics differ, why we needed a new way to measure interaction responsiveness, and how you can start optimizing the performance…
VS Code 1.85
Вышла новая версия. Давайте узнаем о новинках:
- Плавающие окна редакторов - перетаскивайте редакторы на рабочий стол.
- Рабочий процесс Accessible View - более плавные переходы в Accessible View и обратно.
- Более тонкий контроль обновления расширений - выбор расширений для автоматического обновления.
- Просмотр входящих и исходящих изменений в Source Control - Удобный просмотр ожидающих изменений в репозитории.
- Снимки кучи JavaScript - Визуализация снимков кучи, включая графики объектов памяти.
- Отображение иерархии типов Python - быстрый просмотр и навигация по сложным отношениям типов.
- Обновления GitHub Copilot - Улучшения встроенного чата, пояснение кода Rust.
- Предварительный просмотр: расширенная поддержка Sticky Scroll - Sticky Scroll в древовидных представлениях и терминале.
Более подробное описание: https://code.visualstudio.com/updates/v1_85
Вышла новая версия. Давайте узнаем о новинках:
- Плавающие окна редакторов - перетаскивайте редакторы на рабочий стол.
- Рабочий процесс Accessible View - более плавные переходы в Accessible View и обратно.
- Более тонкий контроль обновления расширений - выбор расширений для автоматического обновления.
- Просмотр входящих и исходящих изменений в Source Control - Удобный просмотр ожидающих изменений в репозитории.
- Снимки кучи JavaScript - Визуализация снимков кучи, включая графики объектов памяти.
- Отображение иерархии типов Python - быстрый просмотр и навигация по сложным отношениям типов.
- Обновления GitHub Copilot - Улучшения встроенного чата, пояснение кода Rust.
- Предварительный просмотр: расширенная поддержка Sticky Scroll - Sticky Scroll в древовидных представлениях и терминале.
Более подробное описание: https://code.visualstudio.com/updates/v1_85
👍4
SVGO 3.1.0
Великий оптимизатор SVG-файлов обновился. Теперь в оптимизаторе появилась настройка по управлению удаления значений по умолчанию в атрибутах. А также пофиксили баги.
Подробнее: https://github.com/svg/svgo/releases
Великий оптимизатор SVG-файлов обновился. Теперь в оптимизаторе появилась настройка по управлению удаления значений по умолчанию в атрибутах. А также пофиксили баги.
Подробнее: https://github.com/svg/svgo/releases
Baseline
Новая инициатива, которая поможет веб-разработчикам. Все мы с вами не успеваем за обновлением платформы. Baseline - решает эту проблему.
Мы не понимаем какие CSS-свойства уже можно использовать в продакшене. Некоторые разработчики живут в парадигме "Сверстаю для Хрома, а для остальных браузеров доделаю", что в корне не верно, так как приходится перевёрстывать на других технологиях. Baseline - решает эту проблему.
Собственно, Baseline, позволяет посмотреть на всю веб-платформу в целом и быстро принять решение с помощью каких технологий создавать интерфейс в проекте.
Вот что нам готовит Baseline в 2023 году: https://web.dev/explore/baseline/2023
Новая инициатива, которая поможет веб-разработчикам. Все мы с вами не успеваем за обновлением платформы. Baseline - решает эту проблему.
Мы не понимаем какие CSS-свойства уже можно использовать в продакшене. Некоторые разработчики живут в парадигме "Сверстаю для Хрома, а для остальных браузеров доделаю", что в корне не верно, так как приходится перевёрстывать на других технологиях. Baseline - решает эту проблему.
Собственно, Baseline, позволяет посмотреть на всю веб-платформу в целом и быстро принять решение с помощью каких технологий создавать интерфейс в проекте.
Вот что нам готовит Baseline в 2023 году: https://web.dev/explore/baseline/2023
Baseline caniuse
А тем временем Baseline появился в caniuse. Отличный пример разобраться с разными уровнями Baseline, на примере гридов и сабгридов. Если гриды уже прописались во всех браузерах, то сабгриды являются новичками в основных браузерах.
https://caniuse.com/?search=grid
А тем временем Baseline появился в caniuse. Отличный пример разобраться с разными уровнями Baseline, на примере гридов и сабгридов. Если гриды уже прописались во всех браузерах, то сабгриды являются новичками в основных браузерах.
https://caniuse.com/?search=grid
🔥1
Safari 17.2
HTML
- Теперь теги
- Можно делать поля ввода для одноразовых кодов
CSS
- CSS Nesting: вкладывать теперь можно без
- Новые юниты:
- CSS Motion Path:
offset-position поддержка circle() и ellipse()
offset-position: normal
coord-boxПараметры и <position> внутри ray()
rect() и xywh() фигуры
- Анимации:
- Математические функции:
- Счётчики:
- Границы маски:
mask-border-mode
mask-border-outset
mask-border-repeat
mask-border-slice
mask-border-source
mask-border-width
- API Custom Highlights: псевдоэлемент
- Адаптивные изображения:
и многое-многое другое в https://webkit.org/blog/14787/webkit-features-in-safari-17-2/
HTML
- Теперь теги
details/summary могут делать аккордеоны, с помощью атрибута name- Можно делать поля ввода для одноразовых кодов
<label for="onetimecode">Enter code:</label>
<input name="onetimecode" id="onetimecode" type="text" autocomplete="one-time-code">
CSS
- CSS Nesting: вкладывать теперь можно без
&article {
h1 {
font-size: 1.8rem;
}
p {
font-size: 1.2rem;
}
}- Новые юниты:
lh, rlh, rcap, rex, ric,rch, cap, ex, ic, ch- CSS Motion Path:
offset-position поддержка circle() и ellipse()
offset-position: normal
coord-boxПараметры и <position> внутри ray()
rect() и xywh() фигуры
- Анимации:
linear(), - Математические функции:
rem(), mod(), round()- Счётчики:
counter-set, предоставляет возможность изменять число в счетчике без создания нового счетчика- Границы маски:
mask-border-mode
mask-border-outset
mask-border-repeat
mask-border-slice
mask-border-source
mask-border-width
- API Custom Highlights: псевдоэлемент
::selection- Адаптивные изображения:
<link rel="preload"
as="image"
imagesrcset="flowers-small.jpg 400w,
flowers-medium.jpg 800w,
flowers-large.jpg 1200w,
flowers-extralarge.jpg 1500w"
imagesizes="50vw">
и многое-многое другое в https://webkit.org/blog/14787/webkit-features-in-safari-17-2/
Медиавыражения для <video>
Ну в целом-то всё понятно. Делай так
и будет хорошо всем пользователям. И даже так
заработает.
Но знайте, что работа
- При изменении размеров экрана
- В
- В
Статья: https://scottjehl.com//posts/using-responsive-video/
Ну в целом-то всё понятно. Делай так
<video>
<source media="(min-width: 2000px)" src="large.webm" type="video/webm">
<source media="(min-width: 2000px)" src="large.mp4" type="video/mp4">
<source media="(min-width: 1000px)" src="medium.webm" type="video/webm">
<source media="(min-width: 1000px)" src="medium.mp4" type="video/mp4">
<source src="small.webm" type="video/webm">
<source src="small.mp4" type="video/mp4">
</video>
и будет хорошо всем пользователям. И даже так
<video>
<source src="landscape.mp4" type="video/mp4" media="(orientation: landscape)">
<source src="portrait.mp4" type="video/mp4">
</video>
заработает.
Но знайте, что работа
<source> для <picture> и <video> отличается:- При изменении размеров экрана
<video> не подгрузит более подходящий видеофайл под разрешение. Например, если вы зашли с десктопа, загрузится самая лучшая версия, при сужении окна будет продолжать показывать изначальная версия видео.- В
<video> вы указывает источники с помощью src, а не srcset, но возможно скоро это изменится- В
<video> единственным источником ресурса может быть только <source>. В <picture> также используется <img>Статья: https://scottjehl.com//posts/using-responsive-video/
Scottjehl
How to Use Responsive HTML Video (...and Audio!) | Scott Jehl, Web Designer/Developer
Now that responsive HTML video delivery works across all browsers, let's look at how to use it
Моя активность в гитхаб за 2023 год - https://githubunwrapped.com/nikolai-shabalin. За создание видео отвечают Remotion с помощью веб-технологий.
Можете проверить свою https://githubunwrapped.com/
Можете проверить свою https://githubunwrapped.com/
Githubunwrapped
nikolai-shabalin's #GitHubUnwrapped
See nikolai-shabalin's year in review and get your own.
👍3🔥2
Пока мы все вместе дружно любим ESLint, у него появляются конкуренты. Это Здорово.
Вышел Oxlint - линтер JavaScript, предназначенный для обнаружения ошибочного или бесполезного кода, не требующий каких-либо настроек по умолчанию. Сами о себе ребята завляют, что они в 50-100 раз быстрее ESLint.
Из интересного это то, что у линтера более привлекательная информация об ошибках.
Посмотрим. Последим за развитием.
Вышел Oxlint - линтер JavaScript, предназначенный для обнаружения ошибочного или бесполезного кода, не требующий каких-либо настроек по умолчанию. Сами о себе ребята завляют, что они в 50-100 раз быстрее ESLint.
Из интересного это то, что у линтера более привлекательная информация об ошибках.
Посмотрим. Последим за развитием.
❤2
Preconnect
сразу устанавливает соединение с google.fonts, чтобы скачивание шрифтовых файлов произошло раньше.
Подобный трюк можно делать и для других внешних ресурсов, но только если вы убеждены, что это критически важные ресурсы.
Статья: https://csswizardry.com/2023/12/correctly-configure-preconnections/
<link rel="preconnect" href="https://fonts.googleapis.com">
сразу устанавливает соединение с google.fonts, чтобы скачивание шрифтовых файлов произошло раньше.
precconect не ускоряет скорость скачивание, а лишь раньше производит соединение с сервисом.Подобный трюк можно делать и для других внешних ресурсов, но только если вы убеждены, что это критически важные ресурсы.
Статья: https://csswizardry.com/2023/12/correctly-configure-preconnections/
Csswizardry
Correctly Configure (Pre) Connections – CSS Wizardry
We’re probably familiar with preconnect, but are we getting it right?
В этот раз без статьи. Желаю просто хорошенько отдохнуть на выходных
❤7👍2👏1
Иногда решение приходит мгновенно по проблеме, которая возникла только что. Заметили на курсах, что студенты приходят с уже установленным VS Code, с настройками под свои хотелки, которые не всегда гладко работают при работе на курсе. Особенно мешает Prettier, который постоянно диктует свои правила.
Придумали решение это проблеме — профили! В VS Code профили устанавливаются рядом с вашим профилем. Можно переходить из одного профиля в другой, при этом все любимые изначальные настройки никуда не теряются.
Встречайте vscode-profile-htmlacademy, доступный для открытого обсуждения.
Придумали решение это проблеме — профили! В VS Code профили устанавливаются рядом с вашим профилем. Можно переходить из одного профиля в другой, при этом все любимые изначальные настройки никуда не теряются.
Встречайте vscode-profile-htmlacademy, доступный для открытого обсуждения.
👍8
Как сделать кнопку "Вверх" на чистом CSS
Всё очень просто
Посмотреть: https://codepen.io/expa/pen/yLZmdpL?editors=0100
Всё очень просто
margin-top: 110vh;
position: sticky;
Посмотреть: https://codepen.io/expa/pen/yLZmdpL?editors=0100
👍4
Facebook выпустил новую CSS-in-JS библиотеку StyleX
Работает со всеми фреймворками: React, Preact, Solid, Angular. Особенно полезен для крупных проектов и сложных систем проектирования, используемых несколькими командами.
Статья: https://habr.com/ru/articles/781166/
Работает со всеми фреймворками: React, Preact, Solid, Angular. Особенно полезен для крупных проектов и сложных систем проектирования, используемых несколькими командами.
Статья: https://habr.com/ru/articles/781166/
Хабр
Обзор на новую CSS-in-JS либу от Facebook* – StyleX
Недавно компания Facebook* (aka Meta**) выпустила в опенсорс собственную CSS-in-JS библиотеку под названием StyleX . По заявлениям разработчиков, она отлично подходит для больших проектов и ключевым...
🤯1
Firefox 121
HTML
-
CSS
-
-
-
JS
-
-
и многое другое: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/121
HTML
-
<iframe loading=lazy>CSS
-
:has()-
handing и each-line для `text-indent-
balance для text-wrapJS
-
Promise.withResolvers()-
Date.parse() теперь принимает несколько дополнительных форматов датыи многое другое: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/121
👍3
Очередной роадмэп по фронтенду
Стоит пролистнуть. Может быть вас это вдохновит на новогодние каникулы =)
Статья: https://habr.com/ru/companies/kts/articles/775948/
Стоит пролистнуть. Может быть вас это вдохновит на новогодние каникулы =)
Статья: https://habr.com/ru/companies/kts/articles/775948/
Хабр
Роадмэп по современному фронтенду от KTS
Привет! Меня зовут Фёдор, я фронтенд-тимлид в KTS и преподаватель школы Metaclass . Перед одним из потоков курса « Начинающий React-разработчик » мы провели вебинар, на котором рассказали, что из себя...
🔥3