This media is not supported in your browser
VIEW IN TELEGRAM
#такое дня
Я не знаю, куда отнести эту дичь, но на HDR-мониторах можно получить цвет белее белого: https://kidi.ng/wanna-see-a-whiter-white/
Звучит как какой-то бред, но посмотрите на видео. Текст и правда кажется белее белого.
Секрет в том, что совсем свежие браузеры поддерживают HDR-видео, но о чём забыли упомянуть – что при этом вся страница переходит в HDR.
Таким образом, можно передать значение фильтра brightness больше 100% и получить эффект слишком яркого белого:
Это надо видеть своими глазами :) Применение? Да пёс его знает, говорю же — такое…
#css #hdr #backdrop
Я не знаю, куда отнести эту дичь, но на HDR-мониторах можно получить цвет белее белого: https://kidi.ng/wanna-see-a-whiter-white/
Звучит как какой-то бред, но посмотрите на видео. Текст и правда кажется белее белого.
Секрет в том, что совсем свежие браузеры поддерживают HDR-видео, но о чём забыли упомянуть – что при этом вся страница переходит в HDR.
Таким образом, можно передать значение фильтра brightness больше 100% и получить эффект слишком яркого белого:
filter: brightness(10);
backdrop-filter: brightness(10);
text-shadow: 0 0 10px #ffffff;
Это надо видеть своими глазами :) Применение? Да пёс его знает, говорю же — такое…
#css #hdr #backdrop
#заметка дня
Что-то мы совсем забыли про полезные кусочки кода.
Например, как сделать красивую градиентную тень?
Да очень просто! Как и всегда, ответ на этот вопрос – псевдоэлемент. Поместили, подвинули, размыли. Готово.
Вот даже живой пример: https://codepen.io/argyleink/pen/WNxeBKa
Похоже на Philips Ambilight, не правда ли? Ну так давайте оживим: https://gifted-nightingale-ba0eea.netlify.app/
Добавляйте в ваши коллекции, но лучше – запоминайте принцип.
#css #gradient #shadow
Что-то мы совсем забыли про полезные кусочки кода.
Например, как сделать красивую градиентную тень?
Да очень просто! Как и всегда, ответ на этот вопрос – псевдоэлемент. Поместили, подвинули, размыли. Готово.
Вот даже живой пример: https://codepen.io/argyleink/pen/WNxeBKa
Похоже на Philips Ambilight, не правда ли? Ну так давайте оживим: https://gifted-nightingale-ba0eea.netlify.app/
Добавляйте в ваши коллекции, но лучше – запоминайте принцип.
#css #gradient #shadow
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня
Когда-то меня дико восхитили ползунки в программах создания музыки: визуально они имитировали фейдеры и триммеры (переменные резисторы) реального звукорежиссёрского пульта, но можно было нажать на них мышкой и двигать мышь куда хочешь после этого по всему экрану. Значения менялись соответственно направлению движения.
Короче говоря, ты не был ограничен активной областью контрола.
Так вот, в инструментах разработчика Chrome Canary появилась утилита Length. Стало возможным изменять числовые значения, перемещая мышь. Принцип такой же, как в музыкальных редакторах и некоторых дизайнерских программах:
- зажали Shift — увеличили шаг до 10 пунктов;
- зажали Alt — уменьшили шаг до 0.1 пункта.
- кликнули — появилось меню выбора единиц измерения.
Красота!
P. S. кстати, для изменения угла поворота уже тоже давно симпатичный круговой виджет.
P. P. S. оказалось, и сейчас можно скроллить на числе. Я попробовал — мне не понравилось, слишком чувствительно. Тоже можно зажимать Shift и Alt.
#devtools #chrome
Когда-то меня дико восхитили ползунки в программах создания музыки: визуально они имитировали фейдеры и триммеры (переменные резисторы) реального звукорежиссёрского пульта, но можно было нажать на них мышкой и двигать мышь куда хочешь после этого по всему экрану. Значения менялись соответственно направлению движения.
Короче говоря, ты не был ограничен активной областью контрола.
Так вот, в инструментах разработчика Chrome Canary появилась утилита Length. Стало возможным изменять числовые значения, перемещая мышь. Принцип такой же, как в музыкальных редакторах и некоторых дизайнерских программах:
- зажали Shift — увеличили шаг до 10 пунктов;
- зажали Alt — уменьшили шаг до 0.1 пункта.
- кликнули — появилось меню выбора единиц измерения.
Красота!
P. S. кстати, для изменения угла поворота уже тоже давно симпатичный круговой виджет.
P. P. S. оказалось, и сейчас можно скроллить на числе. Я попробовал — мне не понравилось, слишком чувствительно. Тоже можно зажимать Shift и Alt.
#devtools #chrome
#ссылка дня
Кому тут было надо различных эффектов по наведению мыши? Их есть у меня.
Целый репозиторий всяческих :hover-правил: https://github.com/IanLunn/Hover
Название оригинальное: Hover.css :)
Есть и демо-страница: http://ianlunn.github.io/Hover/
Не могу сказать, что вы найдёте какие-то откровения там, но чекнуть стоит. Эффект завёрнутого уголка довольно забавный. Да и общий подход.
#css #hover #github
Кому тут было надо различных эффектов по наведению мыши? Их есть у меня.
Целый репозиторий всяческих :hover-правил: https://github.com/IanLunn/Hover
Название оригинальное: Hover.css :)
Есть и демо-страница: http://ianlunn.github.io/Hover/
Не могу сказать, что вы найдёте какие-то откровения там, но чекнуть стоит. Эффект завёрнутого уголка довольно забавный. Да и общий подход.
#css #hover #github
GitHub
GitHub - IanLunn/Hover: A collection of CSS3 powered hover effects to be applied to links, buttons, logos, SVG, featured images…
A collection of CSS3 powered hover effects to be applied to links, buttons, logos, SVG, featured images and so on. Easily apply to your own elements, modify or just use for inspiration. Available i...
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня
Когда разработчикам Microsoft Edge делать нечего, они 3D-модель DOM в Edge DevTools запускают. Да, как в Firefox. Chrome такую штуку не имеет.
Честное слово, с трудом представляю, зачем это нужно… но отладить какие-то проблемы с z-index вполне можно.
Да и… красивое.
Так вот, фишка немного не в этом. Фишка-то в том, что доступ к этому инструменту можно, нажав Ctrl/Cmd-Shift-P и введя там 3D.
Знакомое сочетание?
Да, это командная панель, которую когда-то миру показал Sublime Text и потом потырили все, кому не лень. Вы точно ей пользовались в Atom и Visual Studio Code.
Так вот, эта панель команд и в Chrome DevTools тоже имеется. Теперь не надо ковырять меню в поисках нужного редкого инструмента!
Удобно.
#3d #zindex #edge #chrome #devtools
Когда разработчикам Microsoft Edge делать нечего, они 3D-модель DOM в Edge DevTools запускают. Да, как в Firefox. Chrome такую штуку не имеет.
Честное слово, с трудом представляю, зачем это нужно… но отладить какие-то проблемы с z-index вполне можно.
Да и… красивое.
Так вот, фишка немного не в этом. Фишка-то в том, что доступ к этому инструменту можно, нажав Ctrl/Cmd-Shift-P и введя там 3D.
Знакомое сочетание?
Да, это командная панель, которую когда-то миру показал Sublime Text и потом потырили все, кому не лень. Вы точно ей пользовались в Atom и Visual Studio Code.
Так вот, эта панель команд и в Chrome DevTools тоже имеется. Теперь не надо ковырять меню в поисках нужного редкого инструмента!
Удобно.
#3d #zindex #edge #chrome #devtools
#ссылка дня
Grass is green,
Hyperlinks are blue,
Because in April 1993,
Mosaic decided that that would be its hue
© Bramus
https://blog.mozilla.org/en/internet-culture/deep-dives/why-are-hyperlinks-blue/
#css #history
Grass is green,
Hyperlinks are blue,
Because in April 1993,
Mosaic decided that that would be its hue
© Bramus
https://blog.mozilla.org/en/internet-culture/deep-dives/why-are-hyperlinks-blue/
#css #history
Twitter
Bramus!
Grass is green, Hyperlinks are blue, Because in April 1993, Mosaic decided that that would be its hue. 🔗 blog.mozilla.org/en/internet-cu…
#статья дня
Рейтинг в виде звёзд это, наверное, самая универсальная штука на свете. Лично я считаю, что цифры справляются не хуже, но уж как есть.
И вот, небезызвестный Ахмад Шадид с очередной реализацией, теперь на SVG: https://ishadeed.com/article/star-rating-svg/
Как всегда, читать стоит не ради самой реализации — может, вам звёздный рейтинг и не пригодится-то никогда — а ради объяснения нюансов работы с SVG.
#svg #css #star #rating #widget
Рейтинг в виде звёзд это, наверное, самая универсальная штука на свете. Лично я считаю, что цифры справляются не хуже, но уж как есть.
И вот, небезызвестный Ахмад Шадид с очередной реализацией, теперь на SVG: https://ishadeed.com/article/star-rating-svg/
Как всегда, читать стоит не ради самой реализации — может, вам звёздный рейтинг и не пригодится-то никогда — а ради объяснения нюансов работы с SVG.
#svg #css #star #rating #widget
#фишка дня
Если вам в проекте понадобилось вдруг использовать библиотеку fullPage.js для поэкранной прокрутки — подумайте ещё раз.
Скорее всего, накладных расходов и проблем она принесёт больше, чем решений. Не говоря уж о том, что её нужно лицензировать для коммерческих проектов.
Гораздо логичнее использовать scroll-snap, который давно и неплохо нативно поддерживается во всех остальных браузерах.
Вот простейший пример, который дальше уже можно наращивать по вашему желанию: https://codepen.io/argyleink/pen/qBRpdEr
Минимум кода, максимум отдачи. А уж оставшиеся фишки можно и дописать или настроить. Зато с этим уж точно не придётся бороться и у вас на руках все нативные события скролла.
#css #scroll #fullpage
Если вам в проекте понадобилось вдруг использовать библиотеку fullPage.js для поэкранной прокрутки — подумайте ещё раз.
Скорее всего, накладных расходов и проблем она принесёт больше, чем решений. Не говоря уж о том, что её нужно лицензировать для коммерческих проектов.
Гораздо логичнее использовать scroll-snap, который давно и неплохо нативно поддерживается во всех остальных браузерах.
Вот простейший пример, который дальше уже можно наращивать по вашему желанию: https://codepen.io/argyleink/pen/qBRpdEr
Минимум кода, максимум отдачи. А уж оставшиеся фишки можно и дописать или настроить. Зато с этим уж точно не придётся бороться и у вас на руках все нативные события скролла.
#css #scroll #fullpage
#такое дня
Вроде вторник, а ощущений на целый понедельник.
Пришлось доказывать сейлзам из крупного провайдера чатов поддержки, что бывают интерфейсы в 300 пикселей шириной. На десктопе. И да, с миллионной аудиторией.
Давайте пиццу закажем чтоль.
Вроде вторник, а ощущений на целый понедельник.
Пришлось доказывать сейлзам из крупного провайдера чатов поддержки, что бывают интерфейсы в 300 пикселей шириной. На десктопе. И да, с миллионной аудиторией.
Давайте пиццу закажем чтоль.
.toppings {
float: right;
}
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня
Я не ожидал, что простая подводка к мему вызовет столько бурления. Как-нибудь расскажу ещё о том, чем же я таким занимаюсь. А пока давайте к новостям.
В Chrome 95 (сейчас это Chrome Canary) появился API для забора цвета со страницы. Пипетка, короче.
API неофициальный, но Google как всегда бежит впереди паровоза.
Впрочем, почему бы и нет. Для экспериментов самое то, а потом кто-нибудь и полифиллы подгонит.
Демо: https://codepen.io/bramus/pen/mdwPWEL
#js #chrome #color #colorpicker
Я не ожидал, что простая подводка к мему вызовет столько бурления. Как-нибудь расскажу ещё о том, чем же я таким занимаюсь. А пока давайте к новостям.
В Chrome 95 (сейчас это Chrome Canary) появился API для забора цвета со страницы. Пипетка, короче.
API неофициальный, но Google как всегда бежит впереди паровоза.
Впрочем, почему бы и нет. Для экспериментов самое то, а потом кто-нибудь и полифиллы подгонит.
Демо: https://codepen.io/bramus/pen/mdwPWEL
#js #chrome #color #colorpicker
#статья дня
Ахмад Шадид выпустил большую статью-обзор методов маскирования и обрезки изображений. Сравниваются CSS и SVG-подходы. Огромное количество примеров и иллюстраций.
https://ishadeed.com/article/thinking-about-the-cut-out-effect/
Ну и демо, конечно же, для Ъ: https://codepen.io/shadeed/pen/GRmyPjK
Вообще, если коротко: белым обозначаем то, что хотим оставить, а чёрным — то, что хотим скрыть.
#css #svg #clip #mask
Ахмад Шадид выпустил большую статью-обзор методов маскирования и обрезки изображений. Сравниваются CSS и SVG-подходы. Огромное количество примеров и иллюстраций.
https://ishadeed.com/article/thinking-about-the-cut-out-effect/
Ну и демо, конечно же, для Ъ: https://codepen.io/shadeed/pen/GRmyPjK
Вообще, если коротко: белым обозначаем то, что хотим оставить, а чёрным — то, что хотим скрыть.
#css #svg #clip #mask
👍1
#статья дня
В недавней заметке про кнопки и role="button" я упомянул, что переключатели и чекбоксы — вещи разные. Вот, прикладываю обещанное объяснение: https://uxplanet.org/checkbox-vs-toggle-switch-7fc6e83f10b8
Используйте переключатель:
1. Для вызова мгновенной реакции системы на включение опции.
2. Для выделения несвязанных элементов в группе.
Используйте чекбоксы:
1. Когда форму после пометок требуется отправить отдельным действием.
2. Если требуется множественный выбор.
3. Для выделения связанных элементов в группе.
#css #checkbox #switch #ux
В недавней заметке про кнопки и role="button" я упомянул, что переключатели и чекбоксы — вещи разные. Вот, прикладываю обещанное объяснение: https://uxplanet.org/checkbox-vs-toggle-switch-7fc6e83f10b8
Используйте переключатель:
1. Для вызова мгновенной реакции системы на включение опции.
2. Для выделения несвязанных элементов в группе.
Используйте чекбоксы:
1. Когда форму после пометок требуется отправить отдельным действием.
2. Если требуется множественный выбор.
3. Для выделения связанных элементов в группе.
#css #checkbox #switch #ux
#статья дня
Роман Шамин из «Злых марсиан» (Андрей Ситник оттуда, если вы не в курсе кто это — shame on you) о том, как минимальными усилиями со стороны дизайнера добиться максимальной доступности интерфейсов.
https://teletype.in/@romanshamin/a11y-for-designers
Крайне рекомендую. Может многие пункты покажутся банальными и простыми, но почему-то про них часто забывают.
#design #a11y
Роман Шамин из «Злых марсиан» (Андрей Ситник оттуда, если вы не в курсе кто это — shame on you) о том, как минимальными усилиями со стороны дизайнера добиться максимальной доступности интерфейсов.
https://teletype.in/@romanshamin/a11y-for-designers
Крайне рекомендую. Может многие пункты покажутся банальными и простыми, но почему-то про них часто забывают.
#design #a11y
Teletype
Доступность в дизайне
20% усилий дизайнера, дающие 80% доступности экранных интерфейсов
#фишка дня
Потребовалось мне получить тип для неизменяемых данных. Для константы, короче. В моём случае это был список операторов сравнения для выбора:
И вот надо же мне типизировать использование этих операторов. Но как? Не руками же.
И выход есть:
В итоге, виртуально получаем вот это вот:
Красота.
#typescript #types #const
Потребовалось мне получить тип для неизменяемых данных. Для константы, короче. В моём случае это был список операторов сравнения для выбора:
const operators = [
{
label: ‘Equals’,
value: ‘==’,
},
{
label: ‘Not equals’,
value: ‘!=’,
},
…
];
И вот надо же мне типизировать использование этих операторов. Но как? Не руками же.
И выход есть:
const operators = [
…
] as const;
type Operators = typeof operators[number][‘value’];
В итоге, виртуально получаем вот это вот:
type Operators = "==" | “!=“;
Красота.
#typescript #types #const
#фишка дня
Если вам нужны более мягкие градиентные переходы, но лень возиться с easing-формулами, попробуйте комбинировать их. Например, радиальные градиенты в прозрачность: https://codepen.io/alinaki/pen/eYRBbYj?editors=1100
Во многих случаях это именно то, что нужно. Менее насыщенная середина с двумя акцентами по краям.
Про то, что же такое easing-градиенты я писал не так давно: https://t.me/htmlshit/581
#css #gradient #radial
Если вам нужны более мягкие градиентные переходы, но лень возиться с easing-формулами, попробуйте комбинировать их. Например, радиальные градиенты в прозрачность: https://codepen.io/alinaki/pen/eYRBbYj?editors=1100
Во многих случаях это именно то, что нужно. Менее насыщенная середина с двумя акцентами по краям.
Про то, что же такое easing-градиенты я писал не так давно: https://t.me/htmlshit/581
#css #gradient #radial
#инструмент дня
Есть такая прекрасная утилита — SVGO. SVG Optimizer.
Для неё был реализован недостающий GUI — SVGOMG. Удивительная магия аббревиатур работает и тут — это буквально SVGO Missing GUI.
Убрать лишнюю точность кривых, перенести инлайн-стили в классы, сгруппировать элементы и атрибуты – вам сюда. Результат может быть шокирующим.
Так вот, сегодня, спустя два года с момента последнего обновления, вышла версия 2.0!
https://jakearchibald.github.io/svgomg/
Развлекайтесь :)
#svg #svgo #svgomg
Есть такая прекрасная утилита — SVGO. SVG Optimizer.
Для неё был реализован недостающий GUI — SVGOMG. Удивительная магия аббревиатур работает и тут — это буквально SVGO Missing GUI.
Убрать лишнюю точность кривых, перенести инлайн-стили в классы, сгруппировать элементы и атрибуты – вам сюда. Результат может быть шокирующим.
Так вот, сегодня, спустя два года с момента последнего обновления, вышла версия 2.0!
https://jakearchibald.github.io/svgomg/
Развлекайтесь :)
#svg #svgo #svgomg
#инструмент дня
Иногда случается ситуация, когда никак иначе, кроме как парсингом страниц, данные не собрать.
Я не говорю сейчас о рипах с сайтов конкурентов. У меня была ситуация – надо было собрать списки магазинов небольшой сети, которые просто валялись по разным региональным шаблонным ресурсам.
Тогда я воспользовался https://github.com/cheeriojs/cheerio, написав простой скрипт на node.js. Это как jQuery, но для Node.js. Разобрал данные и сохранил в JSON.
Оказывается, есть и более кондовые утилиты.
Например, https://github.com/mgdm/htmlq и https://stedolan.github.io/jq
Первый, как нетрудно догадаться, может обработать HTML, а второй — JSON. И всё из командной строки :)
Например, найти все ссылки на странице:
Можно и просто целые куски HTML выдирать, и селекторы использовать. А дальше — все возможности командной строки и скриптов для обработки.
Ну а jq может стать частью вашей CI/CD системы, разгребсти ответы от API GitHub, например, и выдать их в читаемом виде.
#tools #html #json #cli
Иногда случается ситуация, когда никак иначе, кроме как парсингом страниц, данные не собрать.
Я не говорю сейчас о рипах с сайтов конкурентов. У меня была ситуация – надо было собрать списки магазинов небольшой сети, которые просто валялись по разным региональным шаблонным ресурсам.
Тогда я воспользовался https://github.com/cheeriojs/cheerio, написав простой скрипт на node.js. Это как jQuery, но для Node.js. Разобрал данные и сохранил в JSON.
Оказывается, есть и более кондовые утилиты.
Например, https://github.com/mgdm/htmlq и https://stedolan.github.io/jq
Первый, как нетрудно догадаться, может обработать HTML, а второй — JSON. И всё из командной строки :)
Например, найти все ссылки на странице:
curl --silent https://www.rust-lang.org/ | htmlq --attribute href a
Можно и просто целые куски HTML выдирать, и селекторы использовать. А дальше — все возможности командной строки и скриптов для обработки.
Ну а jq может стать частью вашей CI/CD системы, разгребсти ответы от API GitHub, например, и выдать их в читаемом виде.
#tools #html #json #cli
GitHub
GitHub - cheeriojs/cheerio: The fast, flexible, and elegant library for parsing and manipulating HTML and XML.
The fast, flexible, and elegant library for parsing and manipulating HTML and XML. - cheeriojs/cheerio