Тёмный

:has в CSS - псевдокласс из будущего 👽 на примере карточки новости 

Вадим Макеев
Подписаться 40 тыс.
Просмотров 40 тыс.
50% 1

00:00 Интро
00:31 Как работают селекторы
01:19 Изменение цели
02:53 Описание карточки
04:22 Описание задачи
04:56 Создание вариаций
06:19 Варианты модификаторов
07:23 Как тут поможет has
08:15 Запуск Chrome с флагом
09:30 Замена модификаторов
10:31 Случай посложнее
11:27 Простой сложный селектор
12:24 Демонстрация гибкости
12:50 Кухня разработки has
14:33 Выводы
15:30 Аутро
Нравится? Становитесь патронами / pepelsbey
Карточка на модификаторах pepelsbey.github.io/playgroun...
Карточка с псевдоклассом :has pepelsbey.github.io/playgroun...
Meet :has, A Native CSS Parent Selector www.smashingmagazine.com/2021...
Can I :has() bkardell.com/blog/canihas.html
WIP: Add has pseudo class chromium-review.googlesource....
* * *
Камера: Blackmagic Pocket Cinema 4K
Объектив: Panasonic 12-35 мм, f/2,8
Микрофон: Audio-Technica BP40
Свет: Amaran 200d + Light Dome
Софт: DaVinci Resolve, iZotope RX

Опубликовано:

 

23 май 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 196   
@pepelsbey
@pepelsbey 2 года назад
00:00 Интро 00:31 Как работают селекторы 01:19 Изменение цели 02:53 Описание карточки 04:22 Описание задачи 04:56 Создание вариаций 06:19 Варианты модификаторов 07:23 Как тут поможет has 08:15 Запуск Chrome с флагом 09:30 Замена модификаторов 10:31 Случай посложнее 11:27 Простой сложный селектор 12:24 Демонстрация гибкости 12:50 Кухня разработки has 14:33 Выводы 15:30 Аутро
@VIMPdev
@VIMPdev 2 года назад
Пойду внедрять в прод. Заказчикам буду говорить, что ничего не знаю, у меня работает :)
@monolit-8346
@monolit-8346 2 года назад
Да-да)))) Такая же история
@user-hz7ib6pi3f
@user-hz7ib6pi3f 2 года назад
CSS: - У меня для тебя хорошие новости: теперь ты сможешь использовать родительский селектор! Компания, где я работаю: - У меня для тебя плохие новости: я буду и дальше требовать от тебя поддержки IE, потому что мои менеджеры просто не задумываясь переписывают требования с предыдущих проектов на следующие.
@YuriiKratser
@YuriiKratser 2 года назад
Я из Харькова. Мне так, почему-то, приятно стало, что ты знаешь про Харьков) Спасибо тебе)
@pepelsbey
@pepelsbey 2 года назад
Я там бывал несколько раз на KharkivJS и скучаю по завтракам в 1654 :)
@TrollWinnerRu
@TrollWinnerRu 2 года назад
Вот он, вот он селектор моей мечты! :haas! :haaas!
@andreyzhukov2821
@andreyzhukov2821 2 года назад
Добрый день! Отличное видео, уникальный контент! Однозначно лайк!
@pilyugin
@pilyugin 2 года назад
По моему больная тема css - постучаться выше (либо к родителю, либо как ~ только выше), и :has по сути решает эту проблему немного необычно, но полезности от этого не меньше
@worsto9618
@worsto9618 2 года назад
Я ещё только учусь в академии, но уже сталкивался с моментом, когда мне такой функционал был очень нужен и я искал, думая, что что-то подобное уже реализовано. Как же приятно осознавать, что твой разум и знания немного опережают реализации. Этого ещё не существует, а я уже вижу примеры где это можно было бы применить. Спасибо, Вадим.
@user-vy3wu7xq2p
@user-vy3wu7xq2p 2 года назад
Спасибо за то, что ты есть, Вадим!)
@evgeny421
@evgeny421 2 года назад
Афигеный селектор! Спасибо, что делишься с нами новыми фишками;)
@user-ei6wy1ew9f
@user-ei6wy1ew9f 2 года назад
Каждый новый ролик Вадима прям праздник. Благодарю, очень интересно, успехов😎
@TheFastmind
@TheFastmind 2 года назад
Спасибо за труд.
@user-ty5xy2zd2y
@user-ty5xy2zd2y 2 года назад
Отличные новости. Спасибо.
@galichandreyschool
@galichandreyschool Год назад
Благодарю за видео! 😀👍
@h3lpkey
@h3lpkey 2 года назад
Отдельное спасибо за ссылки и вставку с "Can i :has()"
@user-hm4pv5ou7j
@user-hm4pv5ou7j 9 месяцев назад
Спасибо за интересное видео
@demven04
@demven04 2 года назад
Очень круто!
@whitebox5697
@whitebox5697 2 года назад
Ухо вот как же этого не хватало!
@slavik7871003
@slavik7871003 2 года назад
Скоро :has будет встречаться чаще чем
@pepelsbey
@pepelsbey 2 года назад
Вы так говорите, как будто это плохо
@SemenAlexndrovich
@SemenAlexndrovich 2 года назад
Спасибо, Вадим =)
@MagicMightNew
@MagicMightNew 2 года назад
Очень круто
@michaeldevichenskiy4588
@michaeldevichenskiy4588 2 года назад
С React будет бомба ! Спасибо !
@alekseychikin
@alekseychikin 2 года назад
Очень круто. Думал, что цсс уже полноценный и в нём есть всё, что мне нужно. Но вот сначала были адаптации от контейнеров, которые я теперь очень жду, а теперь ещё жду селектор хас.
@e.chefranov
@e.chefranov 2 года назад
Лайк из Харькова 👍
@vm5786
@vm5786 2 года назад
Спасибо! )
@hryhoriitereshchenko3673
@hryhoriitereshchenko3673 2 года назад
Увидел color: tomato - сразу подписался)
@skeev_
@skeev_ 2 года назад
помню, еще в недавнем подкасте обсуждались проблемы :has, рекурсивность и тому подобнее, а тут уже спецификация прилетела. Приятно, быстрее бы пощупать в реальных условиях
@h3lpkey
@h3lpkey 2 года назад
Гугл
@dimovich85
@dimovich85 2 года назад
Больше всего впечатлило включение флага)))
@user-rj6ro3mp1p
@user-rj6ro3mp1p 2 года назад
Хммм, интересная хереновина, будем ждать. 😁
@user-el4hy5lw6f
@user-el4hy5lw6f 2 года назад
На вид топчик
@agimgal
@agimgal 2 года назад
круть, не знал что :empty работает, хоть и слышал про :has
@artemrepnikov
@artemrepnikov 2 года назад
помню когда то играл с переключением контента с помощью input:radio и там приходилось выносить input'ы вне контейнера с блоками и писать что то типо input:nth-child(2):checked ~ .container .box:nth-child(2) { display: block;} теперь выходит можно будет структурно сделать более приятно все .box:has(input:checked) {display: block;}
@CzarOfScripts
@CzarOfScripts 2 года назад
А если display: none, как нажмешь на инпут который в блоке то?)
@dimaburichin7726
@dimaburichin7726 2 года назад
Красота, эх быстрей бы ввели поддержку этой красоты))). Сафари как всегда будет самым последним куда это завезут((.
@irustv7674
@irustv7674 2 года назад
Крайне полезная штука, особенно для иерархических меню с сложными ветвлениями и переходами стилей.
@vitalikgorohkov1896
@vitalikgorohkov1896 2 года назад
круто
@MakarenkoSasha
@MakarenkoSasha 2 года назад
крутяк конечно..
@user-wv7dg9yn9t
@user-wv7dg9yn9t 2 года назад
подписка!
@euginekosenko2268
@euginekosenko2268 2 года назад
С нетерпением ждём, кода в css можно будет написать игру Жизнь и делать sql-запросы
@yaroslavbox1249
@yaroslavbox1249 2 года назад
it is good!!!
@saburchik7111
@saburchik7111 2 года назад
CSS программирование не за горами)
@PostoiParovoz
@PostoiParovoz 2 года назад
Это has хорош, но в очень очень редких случаях. На практике он будет применяться очень редко, как :empty, :nth-* (:first,:last), :not и т.д. А учитывая когда оно появится у большинства....ждать устанем, пока сможем использовать в продакшене. ИМХО как мне кажется было бы удобнее, если бы сделали обратный вложенному поиск img < a, то есть ищем выше картинки по иерархии ссылку (как вариант a < ing) примерно как работает js closest().
@dreamypioneer3760
@dreamypioneer3760 2 года назад
Отличный контент) . Было бы здорово если бы вы сняли видео про автопрефиксеры.
@pepelsbey
@pepelsbey 2 года назад
Они уже почти не нужны :) Но я подумаю, спасибо
@dreamypioneer3760
@dreamypioneer3760 2 года назад
@@pepelsbey а что вы вместо этого используете?
@user-gs5sf8ou9r
@user-gs5sf8ou9r Год назад
Ждем хэз)
@user-nw4df9uu9e
@user-nw4df9uu9e 2 года назад
Если has будет работать с селекторами типа :checked будет топ
@pepelsbey
@pepelsbey 2 года назад
Уже работает, попробуйте
@AntonDiaz7
@AntonDiaz7 2 года назад
Случайно попал сюда через рекомендации. Ух, как давно я не заглядывал в web-dev тусовку. Но тут всё еще есть Макеев, нет псевдокласса :has, в комментах всё еще бомбят из-за поддержки IE. Как будто ничего не поменялось :D
@andyvi3116
@andyvi3116 2 года назад
еще одна фича на пути к тому, что CSS постепенно становится не просто языком каскадных стилей, а нечто большим. Спасибо Вадиму за то, что выкладывает будущие цсс фичи ))
@thecatwrites9731
@thecatwrites9731 2 года назад
Вадим, это уже какое-то программирование на СSS :)
@AndreiSumin
@AndreiSumin 2 года назад
Спасибо за видео! has жду с нетерпением! @Vadim, приятный тап у свичей, подскажи пожалуйста, что за они и что за клавиатура?
@pepelsbey
@pepelsbey 2 года назад
Свитчи NovelKeys Blueberry, клавиатура KBD67 Lite
@user-ed3vx4iz3y
@user-ed3vx4iz3y 2 года назад
Да, действительно, штука очень удобная (когда она появится). Очень хорошо использовать для задач, которые требуют подобной манипуляции с объектами. Однако, хочется заметить, что в использовании для многообразия элементов, получается, что нам нужно создавать документацию или описание каждого взаимодействия. В противном случае, зайдя на проект, нам трудно будет разобраться, почему, например, картинка менятся таким образом, когда она есть, а когда нет, что-то другое происходит. В случае же с БЭМ нам не приходится этого делать, так как сами скажут о том, что именно они делают (если, конечно, писать их так, чтоб это было явно и понятно). В целом, мне видео очень понравилось. И я даже знаю, что есть такие задачи, для которых это решение было бы куда лучше, чем использование нескольких модификаторов. Жаль, что это будет ещё не скоро. Поддержка пока очень скудная у этого свойства. Спасибо за обзор и разбор!
@pepelsbey
@pepelsbey 2 года назад
Думаю, можно комбинировать оба подхода - практика покажет, что будет лучше. Я позволил себе пофантазировать, как это может помочь :)
@pythonstartups536
@pythonstartups536 2 года назад
6 дней прошло с момента релиза видео, а дизов до сих пор нет. Крутяк)
@getmanele
@getmanele 2 года назад
Пойду запущу канарейку и попробую! Спасибо за видео.
@lenaryan
@lenaryan 2 года назад
Прям слышу, как препроцессоры потихоньку собирают свои пожитки...
@whitebox5697
@whitebox5697 2 года назад
Потихоньку....
@bugoaneo
@bugoaneo 2 года назад
@@whitebox5697 Собирают....
@gregorzhilich8696
@gregorzhilich8696 2 года назад
Всмысле?
@user-bo2jz1pc7p
@user-bo2jz1pc7p 2 года назад
Причем тут препроцессоры и :has? Пока то, что написал Вадим в чистом css на любом препроцессоре можно ещё больше сократить просто за счет правильного использования &. А препроцессоры никак не позволяют реализовать :has или что-то ещё. Их призвание - ускорить рутину в первую очередь.
@lenaryan
@lenaryan 2 года назад
@@user-bo2jz1pc7p при том, что CSS становится более развитым и мощным, и скоро препроцессоры вообще не понадобятся)
@Priboy313
@Priboy313 2 года назад
Верстаю на крайне любительском уровне, но очень рад, что цсс потихоньку превращается в инструмент здорового человека
@user-qz5sc9ko3n
@user-qz5sc9ko3n 2 года назад
Очень крутая штука для корректировки дизайна, на фрилансе зачастую просят изменить что-то в дизайне, но как правило не все имеется доступ к html т.к. он приходит с сервера в php и дополнительный класс прописать возможности нет, если не разбираешься в этом. И :has все это позволяет сделать
@anazkomult
@anazkomult 2 года назад
Круто, удобно. Надеюсь дождемся раньше, чем нас маразм разобьет. :))
@state_of_games
@state_of_games 2 года назад
Прям очень круто) ну к 2025 внедрим :D
@dobramorda9818
@dobramorda9818 2 года назад
Вот это вот все, has(:not) очень гибкий инструмент из яп, называется выражения, быстрей бы запилили, такая дикая вещь и удобно, и все такое. И главное в js как удобно такими селекторами пользоваться для изоляции. А не вот эти [data-selector="any-value"]
@dmitrybiletskyi7020
@dmitrybiletskyi7020 2 года назад
Спасибо за видео, has и правда оч полезный инструмент. Кажется у вас декомпозиция стилей доходит до абсурда: по одному стилю на модификатор. Интересно во сколько раз увеличится размер бандла в среднестатистическом проекте и насколько это себя оправдает...
@pepelsbey
@pepelsbey 2 года назад
До абсурда доходит Tailwind, а я думаю о гибкости компонента. Стили, разметка и скрипты от такого если и вырастают, то незначительно. А могут и уменьшаться. Вы не там ищете опасность для перфоманса :) Вот вам лучше видео в тему ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Lh9q3h2khlc.html
@dmitrybiletskyi7020
@dmitrybiletskyi7020 2 года назад
@@pepelsbey спасиб:)
@mazya.youtube
@mazya.youtube 2 года назад
Ждём поскорее :has во всех браузерах. Люди будут использовать :has, а галерники будут поддерживать IE9 :(
@Akiyatkin
@Akiyatkin 2 года назад
Для меня, самое ожидаемое от :has это решение для если у ссылок стильное подчёркивание c border-bottom вместо text-decoration, когда, начиная с логотипа, все картинки-ссылки подчёркиваются. Сейчас это нельзя исправить селектором. О большем и не мечтал...
@returnobject
@returnobject 2 года назад
интересно на сколько сильно увеличится производительность при использовании :has и вставки в дерево вместо проставления классов? кто-нибудь проводил сравнительные тесты?
@user-tk1or8ki2i
@user-tk1or8ki2i 2 года назад
Прикольно, но, конечно, возникает вопрос как это потом читать... С одной стороны длинную портянку стилей не охватишь сразу, а с другой сам синтаксис усложняется в разы. Без крутого ide скоро css не расковыряешь :)
@user-md5mw1tp3e
@user-md5mw1tp3e 2 года назад
has - это манна небесная) Со всеми этими модификаторами, особенно для несведущих, постоянная путаница. Человек хочет статью просто написать, а ему ещё приходится помнить про разные модификаторы, в зависимости от наполнения...
@dmitrysmoke283
@dmitrysmoke283 2 года назад
ну ты ювелир
@capstanfearless
@capstanfearless 2 года назад
Поставил лайк, Вадим) У меня такой вопрос - зачем дизайнеры используют два разных шрифта? Один основной, а один только для заголовков, по сути для 20 символов на странице. Пришел такой макет, и думаю, стоит ли подключать второй шрифт для этого, или же использовать основной Lato.
@pepelsbey
@pepelsbey 2 года назад
В этом есть и традиция, и практическая задача: привлечь больше внимания, отделить заголовки от основной массы текста, чтобы их проще было воспринимать отдельно. Ну и это выглядит интереснее, полнее, разнообразнее.
@capstanfearless
@capstanfearless 2 года назад
@@pepelsbey спасибо, в итоге сам согласился с дизайнером и с тобой, смотрится второй шрифт шикарно
@rinatvaliullov3247
@rinatvaliullov3247 2 года назад
Нужно запилить gh репозиторий с возможными кейсами нового псевдоклассаа также заменой старых способов.
@pepelsbey
@pepelsbey 2 года назад
Не думаю, что вот прямо нужно (и можно) заменить все способы на этот. Но у нас появится новый инструмент :)
@geek7807
@geek7807 2 года назад
10:15 Мне в этом момент показалось, что Вселенная сейчас скалапсирует. Неужели такое возможно?!))
@alexandraweather4156
@alexandraweather4156 11 месяцев назад
Можете посоветовать не очень сложный и максимально совместимый способ стилизовать инпуты? У меня в макете цвет вводимого текста должен быть белым, а замещающий текст - серым. Когда делаю самому полю цвет текста один, а замечающему тексту через ::placeholder другой, получается что они оба становятся цвета текста - белыми. Если задавать цвет текста только активному состоянию, он вообще не применяется. Искала в интернете, но у вас всегда проще и изящнее
@pepelsbey
@pepelsbey 11 месяцев назад
codepen.io/pepelsbey/pen/WNYNbab
@yourfuckers
@yourfuckers 2 года назад
4:18 о Харьков я там живу
@pavelhamanovich4951
@pavelhamanovich4951 2 года назад
Слышал я что из-за очень большой сложности и чуть ли не геометрической прогрессии сложности в зависимости от количества элементов, этот селектор либо будет за каким-нибудь экспериментальным флагом на постоянной основе, либо его не сделают никогда. Плюс этот селектор опрокидывает логику описания CSS с ног на голову, причем буквально, поскольку можно будет описывать состояние элементов сверху вниз по каскаду. Вангую что когда его запилят, то появятся статьи про оптимизацию и как правильно его использовать, чтобы не уронить сайт стилями :)
@pepelsbey
@pepelsbey 2 года назад
Экспериментальный флаг на постоянной основе - это глупость какая-то :) На самом деле, ребята придумали, как это сделать стабильно. Если у инженеров Chrome будут минимальные сомнения по перфомансу, то фича не выйдет. Но пока кажется всё в порядке - в посте есть данные по тестам перформанса.
@leelaser178
@leelaser178 2 года назад
1500 лайков, 0 дизлайков)
@pepelsbey
@pepelsbey 2 года назад
Надо самому уже дизлайкнуть, сколько можно )
@user-xc6ns4tl3z
@user-xc6ns4tl3z 2 года назад
В следующий раз, когда услышу, что AdBlock используют не хорошие люди, не желающие вознаграждать долларом контент-мейкеров, скажу: "Мне это по работе надо". :)
@user-vk4si1oz7w
@user-vk4si1oz7w 2 года назад
Не знаю что тут комментировать, прост оставлю коммент для продвижения )))
@pepelsbey
@pepelsbey 2 года назад
Не знаю, что на это ответить, но напишу что-нибудь для вежливости 😀
@user-vk4si1oz7w
@user-vk4si1oz7w 2 года назад
Вадим, очевидно, что контент высочайшего качества. Редко что-то комментирую ))
@mortvyyded3955
@mortvyyded3955 2 года назад
А можно узнать на чём вы пишите? Очень сильно хочу серьёзно вкатиться в html, а sublime text даже с дополнениями не такой удобный как на видео
@pepelsbey
@pepelsbey 2 года назад
Это VS Code ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-_8MwZ_cgvZ8.html
@mortvyyded3955
@mortvyyded3955 2 года назад
@@pepelsbey спасибо большое)
@awenn2015
@awenn2015 2 года назад
Даже и не знал что я все время писал стили по методологии бэм, хех
@ivorysunder9737
@ivorysunder9737 2 года назад
Через пару-тройку лет можно будет вспомнить о нем…
@user-ds8dn7rq3b
@user-ds8dn7rq3b 2 года назад
Пора бы xpath начать использовать в CSs
@pepelsbey
@pepelsbey 2 года назад
XPath можно использовать в JS developer.mozilla.org/en-US/docs/Web/XPath/Introduction_to_using_XPath_in_JavaScript
@user-ds8dn7rq3b
@user-ds8dn7rq3b 2 года назад
@@pepelsbey Это понятно, просто можно было бы без :has достаточно удобно обрабатывать подобные селекторы. с помощью своих псевдоклассов
@psydvl
@psydvl 2 года назад
В адблокерах такая штука уже есть, кстати
@pepelsbey
@pepelsbey 2 года назад
Собственно, компания Eyeo, которая делает Adblock Plus, и попросила Igalia внедрить это нативно в браузеры.
@amelianceskymusic
@amelianceskymusic Год назад
А таки добавили
@aduditsky
@aduditsky 2 года назад
has классный
@SMITTih
@SMITTih 2 года назад
идея прекрасная и селектор замечательный - но в текущий момент в крупных проектах жаль не внедрить :(
@SerhiiKh
@SerhiiKh 2 года назад
и кто теперь скажет что CSS не язык программирования ))))
@user-bo2jz1pc7p
@user-bo2jz1pc7p 2 года назад
Остается узнать одно - на сколько быстрым будет селектор такого рода, так как если он будет дико жрать ресурсы - это будет печально (ведь если завтра половина разработчиков будет пилить всё с has - что мы получим...). А то будет как с :last-child в IE когда-то. Так-то рендеринг оптимизировали, но не припомню, PageSpeed по-моему до сих пор не жалует определенные моменты. Хотя если через эдак лет 5-7 выйдет :has - к тому времени у бОльшей части народу будут вменяемые быстрые устройства.
@pepelsbey
@pepelsbey 2 года назад
В статье Брайана есть ссылка на тесты скорости, почитайте.
@alekssjeva951
@alekssjeva951 2 года назад
Не видел, чтобы PageSpeed снижал оценку за использование селекторов. Вот всякий jQuery он ненавидит, это факт.
@bassboosted1184
@bassboosted1184 2 года назад
Такими темпами проще будет добавить ветвления в css, нежели городить такую сложные конструкции
@pepelsbey
@pepelsbey 2 года назад
Сложность конструкций выбираете вы сами: хотите писать проще или иначе - пишите :)
@user-pd9og7ip8t
@user-pd9og7ip8t 2 года назад
Как же это ужасно и нечитаемо) но где-то определенно удобно будет применить
@vkgog
@vkgog 2 года назад
Еще лет 5 и глядишь внедрят. Из-за отсутствия таких селекторов, даже крупные сайты годами используют костыли в css, вместо того чтобы под копотом расставить классы ))
@user-tb3mm6dl3z
@user-tb3mm6dl3z 11 месяцев назад
Фокус витин я его называю
@me1onee
@me1onee 2 года назад
Я думал в контре обнова ;с
@user-ql4xu5qu2u
@user-ql4xu5qu2u 2 года назад
В браузерах уже сайты на офигенном 3d, а мы тут восхищаемся возможностью не писать пару строчек кода на js?
@pepelsbey
@pepelsbey 2 года назад
Сайты на офигенном 3D - это узкая ниша: посмотрели, кинули ссылку друзьям и забыли. И вернулись в информационные интерфейсы, где карточки, блоки и всё сильно проще. И для таких задач этот селектор пригодится. Если вы не разделяете мои эмоции - это ничего.
@user-ql4xu5qu2u
@user-ql4xu5qu2u 2 года назад
@@pepelsbey в целом то так, но мы же про будущее) На флеше довольно информативно получалось, и одновременно очень красиво. Думаю туже же и вернемся, только уже без adobe(
@i17talk8
@i17talk8 2 года назад
не понимаю, почему не внедряют в браузеры препроцессоры всяких sass, less или типа того. Аналогия такая же как и с has, из jQuery. Хотя бы в режиме разраба. Тогда можно было бы легко менять темы. Желательно конвертить в обе стороны. В этом случае можно сильно сжать или модифицировать старые проекты.
@i17talk8
@i17talk8 2 года назад
и почему селекторы не могут быть вида xpath тоже не понимаю. Вроде там с родителями и сложными условиями тоже проблем нет
@i17talk8
@i17talk8 2 года назад
или вида SQL :)
@pepelsbey
@pepelsbey 2 года назад
Вы можете зайти к ребятам, которые делают CSS и спросить, почему так :) github.com/w3c/csswg-drafts
@AleksKo89
@AleksKo89 2 года назад
Мне этого селектора не хватало в userCSS
@aduditsky
@aduditsky 2 года назад
Мне интересно, как сильно это будет съедать производительность при огромном сайте, и не будет ли это медленнее решений в реакт с хуками
@pepelsbey
@pepelsbey 2 года назад
В статье Брайана есть сслыка на исследование перфоманса нативной реализации. Быстрее хуки или нет - это не совсем корректный вопрос. Быстрее ли :has на странице без React, чем React с хуками? Конечно быстрее. А дальше уже сами усложняйте и считайте, в зависимости от вашего приложения. Главное не забывайте, что React приходит и уходит, а CSS встроен в браузеры.
@Al-Mas3000
@Al-Mas3000 2 года назад
Круто конечно, только поддержки нет нигде еще...
@pepelsbey
@pepelsbey 2 года назад
Ну, тогда срочно забудьте всё, что я сказал )
@klev1983
@klev1983 2 года назад
Один раз я пытался найти модификатор обратный для: not(). Минут 5 тупил
@euginekosenko2268
@euginekosenko2268 2 года назад
А где дисклеймер "не пытайтесь повторить это дома"?
@pepelsbey
@pepelsbey 2 года назад
Я предупредил, что браузер крашится )
@user-lz1wb8yr1q
@user-lz1wb8yr1q 2 года назад
Вроде этот селектор так долго не развивали потому что он ломает каскад. А каскад это цсс
@pepelsbey
@pepelsbey 2 года назад
Разверните, пожалуйста :)
@DubinArtur
@DubinArtur 2 года назад
Напишите ответ на комментарий, если это уже заработало
@state_of_games
@state_of_games 2 года назад
надо срочно в прод внедрять, пусть все обновляются до canary с флагом!
@taraskliushta7698
@taraskliushta7698 2 года назад
Really cool selector. On the other hand nowadays we render html using js so you can add any extra css class conditionally. It might be much cleaner to understand why stuff look differently.
@pepelsbey
@pepelsbey 2 года назад
I’ve been rendering HTML 15 years ago using PHP and adding “first” and “last” class names for styling because :first-child and :last-child weren’t supported in old IE versions. I don’t wanna do this anymore. And yes, I’ve seen the code where people use JS for :hover, @media, animations and transitions. Usually it’s a slow mess that takes forever to load and render.
@dimovich85
@dimovich85 2 года назад
Скоро селекторы и регулярки не отличишь друг от друга...
@kirill_bykov
@kirill_bykov 2 года назад
И это хорошо.
Далее
How To Make Toggle Button Using HTML & CSS
5:27
Просмотров 61 тыс.
:has() opens up new possibilities with CSS
14:30
Просмотров 282 тыс.