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

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

Пікірлер: 196

  • @pepelsbey
    @pepelsbey3 жыл бұрын

    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
    @VIMPdev3 жыл бұрын

    Пойду внедрять в прод. Заказчикам буду говорить, что ничего не знаю, у меня работает :)

  • @monolit-8346

    @monolit-8346

    3 жыл бұрын

    Да-да)))) Такая же история

  • @TrollWinnerRu
    @TrollWinnerRu3 жыл бұрын

    Вот он, вот он селектор моей мечты! :haas! :haaas!

  • @user-hz7ib6pi3f
    @user-hz7ib6pi3f3 жыл бұрын

    CSS: - У меня для тебя хорошие новости: теперь ты сможешь использовать родительский селектор! Компания, где я работаю: - У меня для тебя плохие новости: я буду и дальше требовать от тебя поддержки IE, потому что мои менеджеры просто не задумываясь переписывают требования с предыдущих проектов на следующие.

  • @YuriiKratser
    @YuriiKratser3 жыл бұрын

    Я из Харькова. Мне так, почему-то, приятно стало, что ты знаешь про Харьков) Спасибо тебе)

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Я там бывал несколько раз на KharkivJS и скучаю по завтракам в 1654 :)

  • @worsto9618
    @worsto96183 жыл бұрын

    Я ещё только учусь в академии, но уже сталкивался с моментом, когда мне такой функционал был очень нужен и я искал, думая, что что-то подобное уже реализовано. Как же приятно осознавать, что твой разум и знания немного опережают реализации. Этого ещё не существует, а я уже вижу примеры где это можно было бы применить. Спасибо, Вадим.

  • @user-ei6wy1ew9f
    @user-ei6wy1ew9f3 жыл бұрын

    Каждый новый ролик Вадима прям праздник. Благодарю, очень интересно, успехов😎

  • @h3lpkey
    @h3lpkey3 жыл бұрын

    Отдельное спасибо за ссылки и вставку с "Can i :has()"

  • @user-vy3wu7xq2p
    @user-vy3wu7xq2p3 жыл бұрын

    Спасибо за то, что ты есть, Вадим!)

  • @andreyzhukov2821
    @andreyzhukov28213 жыл бұрын

    Добрый день! Отличное видео, уникальный контент! Однозначно лайк!

  • @evgeny421
    @evgeny4213 жыл бұрын

    Афигеный селектор! Спасибо, что делишься с нами новыми фишками;)

  • @TheFastmind
    @TheFastmind3 жыл бұрын

    Спасибо за труд.

  • @user-ty5xy2zd2y
    @user-ty5xy2zd2y3 жыл бұрын

    Отличные новости. Спасибо.

  • @whitebox5697
    @whitebox56973 жыл бұрын

    Ухо вот как же этого не хватало!

  • @galichandreyschool
    @galichandreyschool Жыл бұрын

    Благодарю за видео! 😀👍

  • @user-hm4pv5ou7j
    @user-hm4pv5ou7j10 ай бұрын

    Спасибо за интересное видео

  • @hryhoriitereshchenko3673
    @hryhoriitereshchenko36733 жыл бұрын

    Увидел color: tomato - сразу подписался)

  • @SemenAlexndrovich
    @SemenAlexndrovich3 жыл бұрын

    Спасибо, Вадим =)

  • @michaeldevichenskiy4588
    @michaeldevichenskiy45883 жыл бұрын

    С React будет бомба ! Спасибо !

  • @demven04
    @demven043 жыл бұрын

    Очень круто!

  • @pilyugin
    @pilyugin3 жыл бұрын

    По моему больная тема css - постучаться выше (либо к родителю, либо как ~ только выше), и :has по сути решает эту проблему немного необычно, но полезности от этого не меньше

  • @slavik7871003
    @slavik78710033 жыл бұрын

    Скоро :has будет встречаться чаще чем

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Вы так говорите, как будто это плохо

  • @user-rj6ro3mp1p
    @user-rj6ro3mp1p3 жыл бұрын

    Хммм, интересная хереновина, будем ждать. 😁

  • @alekseychikin
    @alekseychikin3 жыл бұрын

    Очень круто. Думал, что цсс уже полноценный и в нём есть всё, что мне нужно. Но вот сначала были адаптации от контейнеров, которые я теперь очень жду, а теперь ещё жду селектор хас.

  • @agimgal
    @agimgal3 жыл бұрын

    круть, не знал что :empty работает, хоть и слышал про :has

  • @h3lpkey
    @h3lpkey3 жыл бұрын

    Гугл

  • @MagicMightNew
    @MagicMightNew3 жыл бұрын

    Очень круто

  • @e.chefranov
    @e.chefranov3 жыл бұрын

    Лайк из Харькова 👍

  • @skeev_
    @skeev_3 жыл бұрын

    помню, еще в недавнем подкасте обсуждались проблемы :has, рекурсивность и тому подобнее, а тут уже спецификация прилетела. Приятно, быстрее бы пощупать в реальных условиях

  • @dimovich85
    @dimovich853 жыл бұрын

    Больше всего впечатлило включение флага)))

  • @vm5786
    @vm57863 жыл бұрын

    Спасибо! )

  • @user-el4hy5lw6f
    @user-el4hy5lw6f3 жыл бұрын

    На вид топчик

  • @artemrepnikov
    @artemrepnikov3 жыл бұрын

    помню когда то играл с переключением контента с помощью input:radio и там приходилось выносить input'ы вне контейнера с блоками и писать что то типо input:nth-child(2):checked ~ .container .box:nth-child(2) { display: block;} теперь выходит можно будет структурно сделать более приятно все .box:has(input:checked) {display: block;}

  • @CzarOfScripts

    @CzarOfScripts

    3 жыл бұрын

    А если display: none, как нажмешь на инпут который в блоке то?)

  • @saburchik7111
    @saburchik71112 жыл бұрын

    CSS программирование не за горами)

  • @dimaburichin7726
    @dimaburichin77263 жыл бұрын

    Красота, эх быстрей бы ввели поддержку этой красоты))). Сафари как всегда будет самым последним куда это завезут((.

  • @thecatwrites9731
    @thecatwrites97312 жыл бұрын

    Вадим, это уже какое-то программирование на СSS :)

  • @irustv7674
    @irustv76743 жыл бұрын

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

  • @euginekosenko2268
    @euginekosenko22683 жыл бұрын

    С нетерпением ждём, кода в css можно будет написать игру Жизнь и делать sql-запросы

  • @user-wv7dg9yn9t
    @user-wv7dg9yn9t3 жыл бұрын

    подписка!

  • @MakarenkoSasha
    @MakarenkoSasha3 жыл бұрын

    крутяк конечно..

  • @vitalikgorohkov1896
    @vitalikgorohkov18963 жыл бұрын

    круто

  • @state_of_games
    @state_of_games2 жыл бұрын

    Прям очень круто) ну к 2025 внедрим :D

  • @user-gs5sf8ou9r
    @user-gs5sf8ou9r Жыл бұрын

    Ждем хэз)

  • @getmanele
    @getmanele3 жыл бұрын

    Пойду запущу канарейку и попробую! Спасибо за видео.

  • @dreamypioneer3760
    @dreamypioneer37603 жыл бұрын

    Отличный контент) . Было бы здорово если бы вы сняли видео про автопрефиксеры.

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Они уже почти не нужны :) Но я подумаю, спасибо

  • @dreamypioneer3760

    @dreamypioneer3760

    3 жыл бұрын

    @@pepelsbey а что вы вместо этого используете?

  • @yaroslavbox1249
    @yaroslavbox12492 жыл бұрын

    it is good!!!

  • @AntonDiaz7
    @AntonDiaz73 жыл бұрын

    Случайно попал сюда через рекомендации. Ух, как давно я не заглядывал в web-dev тусовку. Но тут всё еще есть Макеев, нет псевдокласса :has, в комментах всё еще бомбят из-за поддержки IE. Как будто ничего не поменялось :D

  • @andyvi3116
    @andyvi31163 жыл бұрын

    еще одна фича на пути к тому, что CSS постепенно становится не просто языком каскадных стилей, а нечто большим. Спасибо Вадиму за то, что выкладывает будущие цсс фичи ))

  • @pythonstartups536
    @pythonstartups5363 жыл бұрын

    6 дней прошло с момента релиза видео, а дизов до сих пор нет. Крутяк)

  • @Priboy313
    @Priboy3133 жыл бұрын

    Верстаю на крайне любительском уровне, но очень рад, что цсс потихоньку превращается в инструмент здорового человека

  • @user-nw4df9uu9e
    @user-nw4df9uu9e3 жыл бұрын

    Если has будет работать с селекторами типа :checked будет топ

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Уже работает, попробуйте

  • @PostoiParovoz
    @PostoiParovoz3 жыл бұрын

    Это has хорош, но в очень очень редких случаях. На практике он будет применяться очень редко, как :empty, :nth-* (:first,:last), :not и т.д. А учитывая когда оно появится у большинства....ждать устанем, пока сможем использовать в продакшене. ИМХО как мне кажется было бы удобнее, если бы сделали обратный вложенному поиск img < a, то есть ищем выше картинки по иерархии ссылку (как вариант a < ing) примерно как работает js closest().

  • @AndreiSumin
    @AndreiSumin3 жыл бұрын

    Спасибо за видео! has жду с нетерпением! @Vadim, приятный тап у свичей, подскажи пожалуйста, что за они и что за клавиатура?

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Свитчи NovelKeys Blueberry, клавиатура KBD67 Lite

  • @user-qz5sc9ko3n
    @user-qz5sc9ko3n2 жыл бұрын

    Очень крутая штука для корректировки дизайна, на фрилансе зачастую просят изменить что-то в дизайне, но как правило не все имеется доступ к html т.к. он приходит с сервера в php и дополнительный класс прописать возможности нет, если не разбираешься в этом. И :has все это позволяет сделать

  • @anazkomult
    @anazkomult3 жыл бұрын

    Круто, удобно. Надеюсь дождемся раньше, чем нас маразм разобьет. :))

  • @lenaryan
    @lenaryan3 жыл бұрын

    Прям слышу, как препроцессоры потихоньку собирают свои пожитки...

  • @whitebox5697

    @whitebox5697

    3 жыл бұрын

    Потихоньку....

  • @bugoaneo

    @bugoaneo

    3 жыл бұрын

    @@whitebox5697 Собирают....

  • @gregorzhilich8696

    @gregorzhilich8696

    3 жыл бұрын

    Всмысле?

  • @user-bo2jz1pc7p

    @user-bo2jz1pc7p

    3 жыл бұрын

    Причем тут препроцессоры и :has? Пока то, что написал Вадим в чистом css на любом препроцессоре можно ещё больше сократить просто за счет правильного использования &. А препроцессоры никак не позволяют реализовать :has или что-то ещё. Их призвание - ускорить рутину в первую очередь.

  • @lenaryan

    @lenaryan

    3 жыл бұрын

    @@user-bo2jz1pc7p при том, что CSS становится более развитым и мощным, и скоро препроцессоры вообще не понадобятся)

  • @user-ed3vx4iz3y
    @user-ed3vx4iz3y3 жыл бұрын

    Да, действительно, штука очень удобная (когда она появится). Очень хорошо использовать для задач, которые требуют подобной манипуляции с объектами. Однако, хочется заметить, что в использовании для многообразия элементов, получается, что нам нужно создавать документацию или описание каждого взаимодействия. В противном случае, зайдя на проект, нам трудно будет разобраться, почему, например, картинка менятся таким образом, когда она есть, а когда нет, что-то другое происходит. В случае же с БЭМ нам не приходится этого делать, так как сами скажут о том, что именно они делают (если, конечно, писать их так, чтоб это было явно и понятно). В целом, мне видео очень понравилось. И я даже знаю, что есть такие задачи, для которых это решение было бы куда лучше, чем использование нескольких модификаторов. Жаль, что это будет ещё не скоро. Поддержка пока очень скудная у этого свойства. Спасибо за обзор и разбор!

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Думаю, можно комбинировать оба подхода - практика покажет, что будет лучше. Я позволил себе пофантазировать, как это может помочь :)

  • @dmitrybiletskyi7020
    @dmitrybiletskyi70203 жыл бұрын

    Спасибо за видео, has и правда оч полезный инструмент. Кажется у вас декомпозиция стилей доходит до абсурда: по одному стилю на модификатор. Интересно во сколько раз увеличится размер бандла в среднестатистическом проекте и насколько это себя оправдает...

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    До абсурда доходит Tailwind, а я думаю о гибкости компонента. Стили, разметка и скрипты от такого если и вырастают, то незначительно. А могут и уменьшаться. Вы не там ищете опасность для перфоманса :) Вот вам лучше видео в тему kzread.info/dash/bejne/fpxt05WhYs7OnMY.html

  • @dmitrybiletskyi7020

    @dmitrybiletskyi7020

    3 жыл бұрын

    @@pepelsbey спасиб:)

  • @mazya.youtube
    @mazya.youtube3 жыл бұрын

    Ждём поскорее :has во всех браузерах. Люди будут использовать :has, а галерники будут поддерживать IE9 :(

  • @awenn2015
    @awenn20152 жыл бұрын

    Даже и не знал что я все время писал стили по методологии бэм, хех

  • @geek7807
    @geek78072 жыл бұрын

    10:15 Мне в этом момент показалось, что Вселенная сейчас скалапсирует. Неужели такое возможно?!))

  • @yourfuckers
    @yourfuckers2 жыл бұрын

    4:18 о Харьков я там живу

  • @dobramorda9818
    @dobramorda98183 жыл бұрын

    Вот это вот все, has(:not) очень гибкий инструмент из яп, называется выражения, быстрей бы запилили, такая дикая вещь и удобно, и все такое. И главное в js как удобно такими селекторами пользоваться для изоляции. А не вот эти [data-selector="any-value"]

  • @dmitrysmoke283
    @dmitrysmoke2833 жыл бұрын

    ну ты ювелир

  • @Akiyatkin
    @Akiyatkin3 жыл бұрын

    Для меня, самое ожидаемое от :has это решение для если у ссылок стильное подчёркивание c border-bottom вместо text-decoration, когда, начиная с логотипа, все картинки-ссылки подчёркиваются. Сейчас это нельзя исправить селектором. О большем и не мечтал...

  • @SerhiiKh
    @SerhiiKh3 жыл бұрын

    и кто теперь скажет что CSS не язык программирования ))))

  • @user-tk1or8ki2i
    @user-tk1or8ki2i3 жыл бұрын

    Прикольно, но, конечно, возникает вопрос как это потом читать... С одной стороны длинную портянку стилей не охватишь сразу, а с другой сам синтаксис усложняется в разы. Без крутого ide скоро css не расковыряешь :)

  • @leelaser178
    @leelaser1783 жыл бұрын

    1500 лайков, 0 дизлайков)

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Надо самому уже дизлайкнуть, сколько можно )

  • @ivorysunder9737
    @ivorysunder97373 жыл бұрын

    Через пару-тройку лет можно будет вспомнить о нем…

  • @rinatvaliullov3247
    @rinatvaliullov32473 жыл бұрын

    Нужно запилить gh репозиторий с возможными кейсами нового псевдоклассаа также заменой старых способов.

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Не думаю, что вот прямо нужно (и можно) заменить все способы на этот. Но у нас появится новый инструмент :)

  • @user-vk4si1oz7w
    @user-vk4si1oz7w3 жыл бұрын

    Не знаю что тут комментировать, прост оставлю коммент для продвижения )))

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Не знаю, что на это ответить, но напишу что-нибудь для вежливости 😀

  • @user-vk4si1oz7w

    @user-vk4si1oz7w

    3 жыл бұрын

    Вадим, очевидно, что контент высочайшего качества. Редко что-то комментирую ))

  • @user-md5mw1tp3e
    @user-md5mw1tp3e3 жыл бұрын

    has - это манна небесная) Со всеми этими модификаторами, особенно для несведущих, постоянная путаница. Человек хочет статью просто написать, а ему ещё приходится помнить про разные модификаторы, в зависимости от наполнения...

  • @capstanfearless
    @capstanfearless3 жыл бұрын

    Поставил лайк, Вадим) У меня такой вопрос - зачем дизайнеры используют два разных шрифта? Один основной, а один только для заголовков, по сути для 20 символов на странице. Пришел такой макет, и думаю, стоит ли подключать второй шрифт для этого, или же использовать основной Lato.

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    В этом есть и традиция, и практическая задача: привлечь больше внимания, отделить заголовки от основной массы текста, чтобы их проще было воспринимать отдельно. Ну и это выглядит интереснее, полнее, разнообразнее.

  • @capstanfearless

    @capstanfearless

    3 жыл бұрын

    @@pepelsbey спасибо, в итоге сам согласился с дизайнером и с тобой, смотрится второй шрифт шикарно

  • @returnobject
    @returnobject2 жыл бұрын

    интересно на сколько сильно увеличится производительность при использовании :has и вставки в дерево вместо проставления классов? кто-нибудь проводил сравнительные тесты?

  • @amelianceskymusic
    @amelianceskymusic Жыл бұрын

    А таки добавили

  • @user-tb3mm6dl3z
    @user-tb3mm6dl3z11 ай бұрын

    Фокус витин я его называю

  • @aduditsky
    @aduditsky3 жыл бұрын

    has классный

  • @psydvl
    @psydvl3 жыл бұрын

    В адблокерах такая штука уже есть, кстати

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Собственно, компания Eyeo, которая делает Adblock Plus, и попросила Igalia внедрить это нативно в браузеры.

  • @alexandraweather4156
    @alexandraweather4156 Жыл бұрын

    Можете посоветовать не очень сложный и максимально совместимый способ стилизовать инпуты? У меня в макете цвет вводимого текста должен быть белым, а замещающий текст - серым. Когда делаю самому полю цвет текста один, а замечающему тексту через ::placeholder другой, получается что они оба становятся цвета текста - белыми. Если задавать цвет текста только активному состоянию, он вообще не применяется. Искала в интернете, но у вас всегда проще и изящнее

  • @pepelsbey

    @pepelsbey

    Жыл бұрын

    codepen.io/pepelsbey/pen/WNYNbab

  • @user-ds8dn7rq3b
    @user-ds8dn7rq3b2 жыл бұрын

    Пора бы 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 достаточно удобно обрабатывать подобные селекторы. с помощью своих псевдоклассов

  • @pavelhamanovich4951
    @pavelhamanovich49513 жыл бұрын

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

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Экспериментальный флаг на постоянной основе - это глупость какая-то :) На самом деле, ребята придумали, как это сделать стабильно. Если у инженеров Chrome будут минимальные сомнения по перфомансу, то фича не выйдет. Но пока кажется всё в порядке - в посте есть данные по тестам перформанса.

  • @user-xc6ns4tl3z
    @user-xc6ns4tl3z3 жыл бұрын

    В следующий раз, когда услышу, что AdBlock используют не хорошие люди, не желающие вознаграждать долларом контент-мейкеров, скажу: "Мне это по работе надо". :)

  • @me1onee
    @me1onee3 жыл бұрын

    Я думал в контре обнова ;с

  • @bassboosted1184
    @bassboosted11843 жыл бұрын

    Такими темпами проще будет добавить ветвления в css, нежели городить такую сложные конструкции

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Сложность конструкций выбираете вы сами: хотите писать проще или иначе - пишите :)

  • @user-pd9og7ip8t
    @user-pd9og7ip8t3 жыл бұрын

    Как же это ужасно и нечитаемо) но где-то определенно удобно будет применить

  • @SMITTih
    @SMITTih2 жыл бұрын

    идея прекрасная и селектор замечательный - но в текущий момент в крупных проектах жаль не внедрить :(

  • @mortvyyded3955
    @mortvyyded39553 жыл бұрын

    А можно узнать на чём вы пишите? Очень сильно хочу серьёзно вкатиться в html, а sublime text даже с дополнениями не такой удобный как на видео

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Это VS Code kzread.info/dash/bejne/kWyB2byYk8rcips.html

  • @mortvyyded3955

    @mortvyyded3955

    3 жыл бұрын

    @@pepelsbey спасибо большое)

  • @user-bo2jz1pc7p
    @user-bo2jz1pc7p3 жыл бұрын

    Остается узнать одно - на сколько быстрым будет селектор такого рода, так как если он будет дико жрать ресурсы - это будет печально (ведь если завтра половина разработчиков будет пилить всё с has - что мы получим...). А то будет как с :last-child в IE когда-то. Так-то рендеринг оптимизировали, но не припомню, PageSpeed по-моему до сих пор не жалует определенные моменты. Хотя если через эдак лет 5-7 выйдет :has - к тому времени у бОльшей части народу будут вменяемые быстрые устройства.

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    В статье Брайана есть ссылка на тесты скорости, почитайте.

  • @alekssjeva951

    @alekssjeva951

    2 жыл бұрын

    Не видел, чтобы PageSpeed снижал оценку за использование селекторов. Вот всякий jQuery он ненавидит, это факт.

  • @AleksKo89
    @AleksKo893 жыл бұрын

    Мне этого селектора не хватало в userCSS

  • @vkgog
    @vkgog3 жыл бұрын

    Еще лет 5 и глядишь внедрят. Из-за отсутствия таких селекторов, даже крупные сайты годами используют костыли в css, вместо того чтобы под копотом расставить классы ))

  • @taraskliushta7698
    @taraskliushta76983 жыл бұрын

    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

    3 жыл бұрын

    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.

  • @i17talk8
    @i17talk83 жыл бұрын

    не понимаю, почему не внедряют в браузеры препроцессоры всяких sass, less или типа того. Аналогия такая же как и с has, из jQuery. Хотя бы в режиме разраба. Тогда можно было бы легко менять темы. Желательно конвертить в обе стороны. В этом случае можно сильно сжать или модифицировать старые проекты.

  • @i17talk8

    @i17talk8

    3 жыл бұрын

    и почему селекторы не могут быть вида xpath тоже не понимаю. Вроде там с родителями и сложными условиями тоже проблем нет

  • @i17talk8

    @i17talk8

    3 жыл бұрын

    или вида SQL :)

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Вы можете зайти к ребятам, которые делают CSS и спросить, почему так :) github.com/w3c/csswg-drafts

  • @klev1983
    @klev19833 жыл бұрын

    Один раз я пытался найти модификатор обратный для: not(). Минут 5 тупил

  • @Al-Mas3000
    @Al-Mas30003 жыл бұрын

    Круто конечно, только поддержки нет нигде еще...

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Ну, тогда срочно забудьте всё, что я сказал )

  • @user-ql4xu5qu2u
    @user-ql4xu5qu2u3 жыл бұрын

    В браузерах уже сайты на офигенном 3d, а мы тут восхищаемся возможностью не писать пару строчек кода на js?

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Сайты на офигенном 3D - это узкая ниша: посмотрели, кинули ссылку друзьям и забыли. И вернулись в информационные интерфейсы, где карточки, блоки и всё сильно проще. И для таких задач этот селектор пригодится. Если вы не разделяете мои эмоции - это ничего.

  • @user-ql4xu5qu2u

    @user-ql4xu5qu2u

    3 жыл бұрын

    @@pepelsbey в целом то так, но мы же про будущее) На флеше довольно информативно получалось, и одновременно очень красиво. Думаю туже же и вернемся, только уже без adobe(

  • @aduditsky
    @aduditsky3 жыл бұрын

    Мне интересно, как сильно это будет съедать производительность при огромном сайте, и не будет ли это медленнее решений в реакт с хуками

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    В статье Брайана есть сслыка на исследование перфоманса нативной реализации. Быстрее хуки или нет - это не совсем корректный вопрос. Быстрее ли :has на странице без React, чем React с хуками? Конечно быстрее. А дальше уже сами усложняйте и считайте, в зависимости от вашего приложения. Главное не забывайте, что React приходит и уходит, а CSS встроен в браузеры.

  • @smith-dev
    @smith-dev3 жыл бұрын

    Я считаю, что это лишнее усложнение, тяжело будет поддерживать, не зря же мы выбираем БЭМ. Проверки наличия контента внутри, все равно нужно производить js'ом. Добавить модификаторов дело 3х минут, зато будет явное представление. Больше кода, это не плохо, если его легче понимать, а родитель влияющий на ребенка это уг.

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Знаете, я слышал, что можно не использовать те возможности языка, которые не нравятся или не подходят к задаче. Возможно, это просто слухи, но звучит разумно :)

  • @smith-dev

    @smith-dev

    3 жыл бұрын

    @@pepelsbey к чему эта токсичность? Я написал, почему лично я не буду его использовать, Вы же сами попросили в видео написать свое мнение.

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Извините, если это прозвучало грубо. Я как раз и пытался сформулировать, что у всех может быть свой взгляд и можно выбрать подход - язык позволяет.

  • @euginekosenko2268
    @euginekosenko22683 жыл бұрын

    А где дисклеймер "не пытайтесь повторить это дома"?

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Я предупредил, что браузер крашится )

  • @user-lz1wb8yr1q
    @user-lz1wb8yr1q3 жыл бұрын

    Вроде этот селектор так долго не развивали потому что он ломает каскад. А каскад это цсс

  • @pepelsbey

    @pepelsbey

    3 жыл бұрын

    Разверните, пожалуйста :)

  • @DubinArtur
    @DubinArtur2 жыл бұрын

    Напишите ответ на комментарий, если это уже заработало

  • @state_of_games

    @state_of_games

    2 жыл бұрын

    надо срочно в прод внедрять, пусть все обновляются до canary с флагом!