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

  Рет қаралды 40,086

Вадим Макеев

Вадим Макеев

Күн бұрын

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
@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!
@user-vy3wu7xq2p
@user-vy3wu7xq2p 2 жыл бұрын
Спасибо за то, что ты есть, Вадим!)
@worsto9618
@worsto9618 2 жыл бұрын
Я ещё только учусь в академии, но уже сталкивался с моментом, когда мне такой функционал был очень нужен и я искал, думая, что что-то подобное уже реализовано. Как же приятно осознавать, что твой разум и знания немного опережают реализации. Этого ещё не существует, а я уже вижу примеры где это можно было бы применить. Спасибо, Вадим.
@evgeny421
@evgeny421 2 жыл бұрын
Афигеный селектор! Спасибо, что делишься с нами новыми фишками;)
@user-ei6wy1ew9f
@user-ei6wy1ew9f 2 жыл бұрын
Каждый новый ролик Вадима прям праздник. Благодарю, очень интересно, успехов😎
@andreyzhukov2821
@andreyzhukov2821 2 жыл бұрын
Добрый день! Отличное видео, уникальный контент! Однозначно лайк!
@TheFastmind
@TheFastmind 2 жыл бұрын
Спасибо за труд.
@galichandreyschool
@galichandreyschool Жыл бұрын
Благодарю за видео! 😀👍
@h3lpkey
@h3lpkey 2 жыл бұрын
Отдельное спасибо за ссылки и вставку с "Can i :has()"
@pilyugin
@pilyugin 2 жыл бұрын
По моему больная тема css - постучаться выше (либо к родителю, либо как ~ только выше), и :has по сути решает эту проблему немного необычно, но полезности от этого не меньше
@user-hm4pv5ou7j
@user-hm4pv5ou7j 9 ай бұрын
Спасибо за интересное видео
@alekseychikin
@alekseychikin 2 жыл бұрын
Очень круто. Думал, что цсс уже полноценный и в нём есть всё, что мне нужно. Но вот сначала были адаптации от контейнеров, которые я теперь очень жду, а теперь ещё жду селектор хас.
@user-ty5xy2zd2y
@user-ty5xy2zd2y 2 жыл бұрын
Отличные новости. Спасибо.
@michaeldevichenskiy4588
@michaeldevichenskiy4588 2 жыл бұрын
С React будет бомба ! Спасибо !
@skeev_
@skeev_ 2 жыл бұрын
помню, еще в недавнем подкасте обсуждались проблемы :has, рекурсивность и тому подобнее, а тут уже спецификация прилетела. Приятно, быстрее бы пощупать в реальных условиях
@hryhoriitereshchenko3673
@hryhoriitereshchenko3673 2 жыл бұрын
Увидел color: tomato - сразу подписался)
@whitebox5697
@whitebox5697 2 жыл бұрын
Ухо вот как же этого не хватало!
@SemenAlexndrovich
@SemenAlexndrovich 2 жыл бұрын
Спасибо, Вадим =)
@agimgal
@agimgal 2 жыл бұрын
круть, не знал что :empty работает, хоть и слышал про :has
@demven04
@demven04 2 жыл бұрын
Очень круто!
@h3lpkey
@h3lpkey 2 жыл бұрын
Гугл
@user-rj6ro3mp1p
@user-rj6ro3mp1p 2 жыл бұрын
Хммм, интересная хереновина, будем ждать. 😁
@dimovich85
@dimovich85 2 жыл бұрын
Больше всего впечатлило включение флага)))
@MagicMightNew
@MagicMightNew 2 жыл бұрын
Очень круто
@user-el4hy5lw6f
@user-el4hy5lw6f 2 жыл бұрын
На вид топчик
@e.chefranov
@e.chefranov 2 жыл бұрын
Лайк из Харькова 👍
@slavik7871003
@slavik7871003 2 жыл бұрын
Скоро :has будет встречаться чаще чем
@pepelsbey
@pepelsbey 2 жыл бұрын
Вы так говорите, как будто это плохо
@vm5786
@vm5786 2 жыл бұрын
Спасибо! )
@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 жыл бұрын
Красота, эх быстрей бы ввели поддержку этой красоты))). Сафари как всегда будет самым последним куда это завезут((.
@euginekosenko2268
@euginekosenko2268 2 жыл бұрын
С нетерпением ждём, кода в css можно будет написать игру Жизнь и делать sql-запросы
@thecatwrites9731
@thecatwrites9731 2 жыл бұрын
Вадим, это уже какое-то программирование на СSS :)
@irustv7674
@irustv7674 2 жыл бұрын
Крайне полезная штука, особенно для иерархических меню с сложными ветвлениями и переходами стилей.
@dreamypioneer3760
@dreamypioneer3760 2 жыл бұрын
Отличный контент) . Было бы здорово если бы вы сняли видео про автопрефиксеры.
@pepelsbey
@pepelsbey 2 жыл бұрын
Они уже почти не нужны :) Но я подумаю, спасибо
@dreamypioneer3760
@dreamypioneer3760 2 жыл бұрын
@@pepelsbey а что вы вместо этого используете?
@andyvi3116
@andyvi3116 2 жыл бұрын
еще одна фича на пути к тому, что CSS постепенно становится не просто языком каскадных стилей, а нечто большим. Спасибо Вадиму за то, что выкладывает будущие цсс фичи ))
@saburchik7111
@saburchik7111 2 жыл бұрын
CSS программирование не за горами)
@getmanele
@getmanele 2 жыл бұрын
Пойду запущу канарейку и попробую! Спасибо за видео.
@pythonstartups536
@pythonstartups536 2 жыл бұрын
6 дней прошло с момента релиза видео, а дизов до сих пор нет. Крутяк)
@user-wv7dg9yn9t
@user-wv7dg9yn9t 2 жыл бұрын
подписка!
@AndreiSumin
@AndreiSumin 2 жыл бұрын
Спасибо за видео! has жду с нетерпением! @Vadim, приятный тап у свичей, подскажи пожалуйста, что за они и что за клавиатура?
@pepelsbey
@pepelsbey 2 жыл бұрын
Свитчи NovelKeys Blueberry, клавиатура KBD67 Lite
@PostoiParovoz
@PostoiParovoz 2 жыл бұрын
Это has хорош, но в очень очень редких случаях. На практике он будет применяться очень редко, как :empty, :nth-* (:first,:last), :not и т.д. А учитывая когда оно появится у большинства....ждать устанем, пока сможем использовать в продакшене. ИМХО как мне кажется было бы удобнее, если бы сделали обратный вложенному поиск img < a, то есть ищем выше картинки по иерархии ссылку (как вариант a < ing) примерно как работает js closest().
@user-qz5sc9ko3n
@user-qz5sc9ko3n 2 жыл бұрын
Очень крутая штука для корректировки дизайна, на фрилансе зачастую просят изменить что-то в дизайне, но как правило не все имеется доступ к html т.к. он приходит с сервера в php и дополнительный класс прописать возможности нет, если не разбираешься в этом. И :has все это позволяет сделать
@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 становится более развитым и мощным, и скоро препроцессоры вообще не понадобятся)
@yaroslavbox1249
@yaroslavbox1249 2 жыл бұрын
it is good!!!
@user-ed3vx4iz3y
@user-ed3vx4iz3y 2 жыл бұрын
Да, действительно, штука очень удобная (когда она появится). Очень хорошо использовать для задач, которые требуют подобной манипуляции с объектами. Однако, хочется заметить, что в использовании для многообразия элементов, получается, что нам нужно создавать документацию или описание каждого взаимодействия. В противном случае, зайдя на проект, нам трудно будет разобраться, почему, например, картинка менятся таким образом, когда она есть, а когда нет, что-то другое происходит. В случае же с БЭМ нам не приходится этого делать, так как сами скажут о том, что именно они делают (если, конечно, писать их так, чтоб это было явно и понятно). В целом, мне видео очень понравилось. И я даже знаю, что есть такие задачи, для которых это решение было бы куда лучше, чем использование нескольких модификаторов. Жаль, что это будет ещё не скоро. Поддержка пока очень скудная у этого свойства. Спасибо за обзор и разбор!
@pepelsbey
@pepelsbey 2 жыл бұрын
Думаю, можно комбинировать оба подхода - практика покажет, что будет лучше. Я позволил себе пофантазировать, как это может помочь :)
@vitalikgorohkov1896
@vitalikgorohkov1896 2 жыл бұрын
круто
@Priboy313
@Priboy313 2 жыл бұрын
Верстаю на крайне любительском уровне, но очень рад, что цсс потихоньку превращается в инструмент здорового человека
@AntonDiaz7
@AntonDiaz7 2 жыл бұрын
Случайно попал сюда через рекомендации. Ух, как давно я не заглядывал в web-dev тусовку. Но тут всё еще есть Макеев, нет псевдокласса :has, в комментах всё еще бомбят из-за поддержки IE. Как будто ничего не поменялось :D
@user-gs5sf8ou9r
@user-gs5sf8ou9r Жыл бұрын
Ждем хэз)
@MakarenkoSasha
@MakarenkoSasha 2 жыл бұрын
крутяк конечно..
@anazkomult
@anazkomult 2 жыл бұрын
Круто, удобно. Надеюсь дождемся раньше, чем нас маразм разобьет. :))
@user-nw4df9uu9e
@user-nw4df9uu9e 2 жыл бұрын
Если has будет работать с селекторами типа :checked будет топ
@pepelsbey
@pepelsbey 2 жыл бұрын
Уже работает, попробуйте
@mazya.youtube
@mazya.youtube 2 жыл бұрын
Ждём поскорее :has во всех браузерах. Люди будут использовать :has, а галерники будут поддерживать IE9 :(
@dmitrybiletskyi7020
@dmitrybiletskyi7020 2 жыл бұрын
Спасибо за видео, has и правда оч полезный инструмент. Кажется у вас декомпозиция стилей доходит до абсурда: по одному стилю на модификатор. Интересно во сколько раз увеличится размер бандла в среднестатистическом проекте и насколько это себя оправдает...
@pepelsbey
@pepelsbey 2 жыл бұрын
До абсурда доходит Tailwind, а я думаю о гибкости компонента. Стили, разметка и скрипты от такого если и вырастают, то незначительно. А могут и уменьшаться. Вы не там ищете опасность для перфоманса :) Вот вам лучше видео в тему kzfaq.info/get/bejne/gs5ppJaZl9HMnJc.html
@dmitrybiletskyi7020
@dmitrybiletskyi7020 2 жыл бұрын
@@pepelsbey спасиб:)
@state_of_games
@state_of_games 2 жыл бұрын
Прям очень круто) ну к 2025 внедрим :D
@Akiyatkin
@Akiyatkin 2 жыл бұрын
Для меня, самое ожидаемое от :has это решение для если у ссылок стильное подчёркивание c border-bottom вместо text-decoration, когда, начиная с логотипа, все картинки-ссылки подчёркиваются. Сейчас это нельзя исправить селектором. О большем и не мечтал...
@user-tk1or8ki2i
@user-tk1or8ki2i 2 жыл бұрын
Прикольно, но, конечно, возникает вопрос как это потом читать... С одной стороны длинную портянку стилей не охватишь сразу, а с другой сам синтаксис усложняется в разы. Без крутого ide скоро css не расковыряешь :)
@dobramorda9818
@dobramorda9818 2 жыл бұрын
Вот это вот все, has(:not) очень гибкий инструмент из яп, называется выражения, быстрей бы запилили, такая дикая вещь и удобно, и все такое. И главное в js как удобно такими селекторами пользоваться для изоляции. А не вот эти [data-selector="any-value"]
@SerhiiKh
@SerhiiKh 2 жыл бұрын
и кто теперь скажет что CSS не язык программирования ))))
@user-xc6ns4tl3z
@user-xc6ns4tl3z 2 жыл бұрын
В следующий раз, когда услышу, что AdBlock используют не хорошие люди, не желающие вознаграждать долларом контент-мейкеров, скажу: "Мне это по работе надо". :)
@user-md5mw1tp3e
@user-md5mw1tp3e 2 жыл бұрын
has - это манна небесная) Со всеми этими модификаторами, особенно для несведущих, постоянная путаница. Человек хочет статью просто написать, а ему ещё приходится помнить про разные модификаторы, в зависимости от наполнения...
@rinatvaliullov3247
@rinatvaliullov3247 2 жыл бұрын
Нужно запилить gh репозиторий с возможными кейсами нового псевдоклассаа также заменой старых способов.
@pepelsbey
@pepelsbey 2 жыл бұрын
Не думаю, что вот прямо нужно (и можно) заменить все способы на этот. Но у нас появится новый инструмент :)
@ivorysunder9737
@ivorysunder9737 2 жыл бұрын
Через пару-тройку лет можно будет вспомнить о нем…
@returnobject
@returnobject 2 жыл бұрын
интересно на сколько сильно увеличится производительность при использовании :has и вставки в дерево вместо проставления классов? кто-нибудь проводил сравнительные тесты?
@capstanfearless
@capstanfearless 2 жыл бұрын
Поставил лайк, Вадим) У меня такой вопрос - зачем дизайнеры используют два разных шрифта? Один основной, а один только для заголовков, по сути для 20 символов на странице. Пришел такой макет, и думаю, стоит ли подключать второй шрифт для этого, или же использовать основной Lato.
@pepelsbey
@pepelsbey 2 жыл бұрын
В этом есть и традиция, и практическая задача: привлечь больше внимания, отделить заголовки от основной массы текста, чтобы их проще было воспринимать отдельно. Ну и это выглядит интереснее, полнее, разнообразнее.
@capstanfearless
@capstanfearless 2 жыл бұрын
@@pepelsbey спасибо, в итоге сам согласился с дизайнером и с тобой, смотрится второй шрифт шикарно
@awenn2015
@awenn2015 2 жыл бұрын
Даже и не знал что я все время писал стили по методологии бэм, хех
@dmitrysmoke283
@dmitrysmoke283 2 жыл бұрын
ну ты ювелир
@leelaser178
@leelaser178 2 жыл бұрын
1500 лайков, 0 дизлайков)
@pepelsbey
@pepelsbey 2 жыл бұрын
Надо самому уже дизлайкнуть, сколько можно )
@geek7807
@geek7807 2 жыл бұрын
10:15 Мне в этом момент показалось, что Вселенная сейчас скалапсирует. Неужели такое возможно?!))
@pavelhamanovich4951
@pavelhamanovich4951 2 жыл бұрын
Слышал я что из-за очень большой сложности и чуть ли не геометрической прогрессии сложности в зависимости от количества элементов, этот селектор либо будет за каким-нибудь экспериментальным флагом на постоянной основе, либо его не сделают никогда. Плюс этот селектор опрокидывает логику описания CSS с ног на голову, причем буквально, поскольку можно будет описывать состояние элементов сверху вниз по каскаду. Вангую что когда его запилят, то появятся статьи про оптимизацию и как правильно его использовать, чтобы не уронить сайт стилями :)
@pepelsbey
@pepelsbey 2 жыл бұрын
Экспериментальный флаг на постоянной основе - это глупость какая-то :) На самом деле, ребята придумали, как это сделать стабильно. Если у инженеров Chrome будут минимальные сомнения по перфомансу, то фича не выйдет. Но пока кажется всё в порядке - в посте есть данные по тестам перформанса.
@alexandraweather4156
@alexandraweather4156 11 ай бұрын
Можете посоветовать не очень сложный и максимально совместимый способ стилизовать инпуты? У меня в макете цвет вводимого текста должен быть белым, а замещающий текст - серым. Когда делаю самому полю цвет текста один, а замечающему тексту через ::placeholder другой, получается что они оба становятся цвета текста - белыми. Если задавать цвет текста только активному состоянию, он вообще не применяется. Искала в интернете, но у вас всегда проще и изящнее
@pepelsbey
@pepelsbey 11 ай бұрын
codepen.io/pepelsbey/pen/WNYNbab
@yourfuckers
@yourfuckers 2 жыл бұрын
4:18 о Харьков я там живу
@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 достаточно удобно обрабатывать подобные селекторы. с помощью своих псевдоклассов
@user-bo2jz1pc7p
@user-bo2jz1pc7p 2 жыл бұрын
Остается узнать одно - на сколько быстрым будет селектор такого рода, так как если он будет дико жрать ресурсы - это будет печально (ведь если завтра половина разработчиков будет пилить всё с has - что мы получим...). А то будет как с :last-child в IE когда-то. Так-то рендеринг оптимизировали, но не припомню, PageSpeed по-моему до сих пор не жалует определенные моменты. Хотя если через эдак лет 5-7 выйдет :has - к тому времени у бОльшей части народу будут вменяемые быстрые устройства.
@pepelsbey
@pepelsbey 2 жыл бұрын
В статье Брайана есть ссылка на тесты скорости, почитайте.
@alekssjeva951
@alekssjeva951 2 жыл бұрын
Не видел, чтобы PageSpeed снижал оценку за использование селекторов. Вот всякий jQuery он ненавидит, это факт.
@amelianceskymusic
@amelianceskymusic Жыл бұрын
А таки добавили
@user-vk4si1oz7w
@user-vk4si1oz7w 2 жыл бұрын
Не знаю что тут комментировать, прост оставлю коммент для продвижения )))
@pepelsbey
@pepelsbey 2 жыл бұрын
Не знаю, что на это ответить, но напишу что-нибудь для вежливости 😀
@user-vk4si1oz7w
@user-vk4si1oz7w 2 жыл бұрын
Вадим, очевидно, что контент высочайшего качества. Редко что-то комментирую ))
@mortvyyded3955
@mortvyyded3955 2 жыл бұрын
А можно узнать на чём вы пишите? Очень сильно хочу серьёзно вкатиться в html, а sublime text даже с дополнениями не такой удобный как на видео
@pepelsbey
@pepelsbey 2 жыл бұрын
Это VS Code kzfaq.info/get/bejne/lZ59qr2QyM3aimw.html
@mortvyyded3955
@mortvyyded3955 2 жыл бұрын
@@pepelsbey спасибо большое)
@SMITTih
@SMITTih 2 жыл бұрын
идея прекрасная и селектор замечательный - но в текущий момент в крупных проектах жаль не внедрить :(
@me1onee
@me1onee 2 жыл бұрын
Я думал в контре обнова ;с
@user-ql4xu5qu2u
@user-ql4xu5qu2u 2 жыл бұрын
В браузерах уже сайты на офигенном 3d, а мы тут восхищаемся возможностью не писать пару строчек кода на js?
@pepelsbey
@pepelsbey 2 жыл бұрын
Сайты на офигенном 3D - это узкая ниша: посмотрели, кинули ссылку друзьям и забыли. И вернулись в информационные интерфейсы, где карточки, блоки и всё сильно проще. И для таких задач этот селектор пригодится. Если вы не разделяете мои эмоции - это ничего.
@user-ql4xu5qu2u
@user-ql4xu5qu2u 2 жыл бұрын
@@pepelsbey в целом то так, но мы же про будущее) На флеше довольно информативно получалось, и одновременно очень красиво. Думаю туже же и вернемся, только уже без adobe(
@aduditsky
@aduditsky 2 жыл бұрын
has классный
@psydvl
@psydvl 2 жыл бұрын
В адблокерах такая штука уже есть, кстати
@pepelsbey
@pepelsbey 2 жыл бұрын
Собственно, компания Eyeo, которая делает Adblock Plus, и попросила Igalia внедрить это нативно в браузеры.
@user-tb3mm6dl3z
@user-tb3mm6dl3z 10 ай бұрын
Фокус витин я его называю
@vkgog
@vkgog 2 жыл бұрын
Еще лет 5 и глядишь внедрят. Из-за отсутствия таких селекторов, даже крупные сайты годами используют костыли в css, вместо того чтобы под копотом расставить классы ))
@user-pd9og7ip8t
@user-pd9og7ip8t 2 жыл бұрын
Как же это ужасно и нечитаемо) но где-то определенно удобно будет применить
@bassboosted1184
@bassboosted1184 2 жыл бұрын
Такими темпами проще будет добавить ветвления в css, нежели городить такую сложные конструкции
@pepelsbey
@pepelsbey 2 жыл бұрын
Сложность конструкций выбираете вы сами: хотите писать проще или иначе - пишите :)
@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
@klev1983
@klev1983 2 жыл бұрын
Один раз я пытался найти модификатор обратный для: not(). Минут 5 тупил
@Al-Mas3000
@Al-Mas3000 2 жыл бұрын
Круто конечно, только поддержки нет нигде еще...
@pepelsbey
@pepelsbey 2 жыл бұрын
Ну, тогда срочно забудьте всё, что я сказал )
@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.
@aduditsky
@aduditsky 2 жыл бұрын
Мне интересно, как сильно это будет съедать производительность при огромном сайте, и не будет ли это медленнее решений в реакт с хуками
@pepelsbey
@pepelsbey 2 жыл бұрын
В статье Брайана есть сслыка на исследование перфоманса нативной реализации. Быстрее хуки или нет - это не совсем корректный вопрос. Быстрее ли :has на странице без React, чем React с хуками? Конечно быстрее. А дальше уже сами усложняйте и считайте, в зависимости от вашего приложения. Главное не забывайте, что React приходит и уходит, а CSS встроен в браузеры.
@smith-dev
@smith-dev 2 жыл бұрын
Я считаю, что это лишнее усложнение, тяжело будет поддерживать, не зря же мы выбираем БЭМ. Проверки наличия контента внутри, все равно нужно производить js'ом. Добавить модификаторов дело 3х минут, зато будет явное представление. Больше кода, это не плохо, если его легче понимать, а родитель влияющий на ребенка это уг.
@pepelsbey
@pepelsbey 2 жыл бұрын
Знаете, я слышал, что можно не использовать те возможности языка, которые не нравятся или не подходят к задаче. Возможно, это просто слухи, но звучит разумно :)
@smith-dev
@smith-dev 2 жыл бұрын
@@pepelsbey к чему эта токсичность? Я написал, почему лично я не буду его использовать, Вы же сами попросили в видео написать свое мнение.
@pepelsbey
@pepelsbey 2 жыл бұрын
Извините, если это прозвучало грубо. Я как раз и пытался сформулировать, что у всех может быть свой взгляд и можно выбрать подход - язык позволяет.
@euginekosenko2268
@euginekosenko2268 2 жыл бұрын
А где дисклеймер "не пытайтесь повторить это дома"?
@pepelsbey
@pepelsbey 2 жыл бұрын
Я предупредил, что браузер крашится )
@dimovich85
@dimovich85 2 жыл бұрын
Скоро селекторы и регулярки не отличишь друг от друга...
@kirill_bykov
@kirill_bykov 2 жыл бұрын
И это хорошо.
@user-lz1wb8yr1q
@user-lz1wb8yr1q 2 жыл бұрын
Вроде этот селектор так долго не развивали потому что он ломает каскад. А каскад это цсс
@pepelsbey
@pepelsbey 2 жыл бұрын
Разверните, пожалуйста :)
Kitten has a slime in her diaper?! 🙀 #cat #kitten #cute
00:28
How To Make Toggle Button Using HTML & CSS
5:27
MakeTechStuff
Рет қаралды 60 М.
The new CSS pseudo-classes explained - :is() :where() :has()
13:50
Kevin Powell
Рет қаралды 128 М.
This Is So Much More Than Just A Parent Selector
12:44
Web Dev Simplified
Рет қаралды 43 М.
Kitten has a slime in her diaper?! 🙀 #cat #kitten #cute
00:28