Тёмный

CSS-чит - display contents  

Александр Ламков — Friendly Frontend
Просмотров 150 тыс.
50% 1

🗂️ Смотри бесплатные курсы по фронтенд-разработке на канале:
🟠 Курс по HTML
🔵 Курс по CSS
🟢 Курс Accessibility
⚪️ Мастер-класс по верстке для новичков
💬 Чат в телеграмме (помощь новичкам):
@friendlyFrontendChat
#shorts #frontend #фронтенд #css

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

 

30 ноя 2023

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 125   
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
📌 Друзья, в телеграмме у нас есть канал и отдельный чат, где вы можете задать вопрос по фронтенд-разработке и вам постараются помочь: 💬 Чат: @friendlyFrontendChat ℹ Основной канал: @friendlyFrontend Если вам это интересно, присоединяйтесь, задавайте вопросы и помогайте другим 🙂
@YariRu
@YariRu 5 месяцев назад
Делаю фронт 15 лет, в первый раз слышу про это
@O_Hat
@O_Hat 4 месяца назад
во-первых этого свойства 15ть лет назад не было. во-вторых он с флагами.
@AleksanderLamkov
@AleksanderLamkov 4 месяца назад
Если ты про «частичную поддержку», то там весьма специфический сценарий, при котором значение свойства не будет работать.
@alpha-666
@alpha-666 3 месяца назад
А причём тут дисплей контент? 😂 если блок называет кард😮 контент это видимая часть информационного блока, т.е мы его должны полностью закрыть для мобильных версии?
@Markuvines
@Markuvines 6 месяцев назад
Это чё за уличная магия?Оо
@ilyaverutin467
@ilyaverutin467 5 месяцев назад
Программист = шаман, это давно известно
@Maxim9575
@Maxim9575 5 месяцев назад
Разработчики и спецификаторы: ну да мы тут читы в браузере разрабатываем для игроков во фронтенд.
@naysy3169
@naysy3169 6 месяцев назад
Класс! Я почему то думал что это можно как-то через subgrid порешать, а тут "вот оно чё Михалыч"! Спасибо! ))
@ThePilesos
@ThePilesos 5 месяцев назад
Костыли для выстрела себе в ногу, иначе и не скажешь
@user-rm8bf1qw2d
@user-rm8bf1qw2d 5 месяцев назад
Ты сейчас весь адаптив описал
@illia3501
@illia3501 4 месяца назад
Адаптив одним словом - костыли
@huge_letters
@huge_letters 3 месяца назад
Пример мб не самый удачный, но свойство оч удобное, когда пишешь компоненты-обертки со всяким функционалом.
@TrnonhighHighdc-oy7gf
@TrnonhighHighdc-oy7gf 5 месяцев назад
У меня аж глаз задергался.😮
@TheStonedFox
@TheStonedFox 3 месяца назад
У меня буквально сегодня была такая ситуация, прям 1 в1. Спасибо.
@Webprod200
@Webprod200 5 месяцев назад
Офигеть) благодарю)
@michaelkamko
@michaelkamko 6 месяцев назад
Да ладно!!! Не знал, хотя иногда пригождалось. Спасибо))
@ziggystardust3975
@ziggystardust3975 4 месяца назад
Наконец нормальные практические кейсы, а не как у других «сокращаем код до одной строчки как про»
@user-by4sz6is2h
@user-by4sz6is2h 6 месяцев назад
Знал о contents. Но для меня новинка order: -1)) до этого выставлял всем элементам ордеры от 1 до n)
@ruinersteel1104
@ruinersteel1104 2 месяца назад
возможно и дальше будешь, когда нужно будет более, чем одному элементу, поставить "-1"
@senkamatic8448
@senkamatic8448 4 месяца назад
Вот за это огромное спасибо ❤❤❤❤
@roduman
@roduman 5 месяцев назад
Отличная информация
@huge_letters
@huge_letters 3 месяца назад
Свойство оч удобно в компонент фреймворках всяких особенно - нередко делаешь всякие компоненты обертки и контентс оч пригождается, чтоб твоя обёртка не мешала стилизации.
@noitaukkokronk
@noitaukkokronk 5 месяцев назад
А вот это полезно. Ясно, что лучше избегать таких ситуаций, но иногда это будет спасением
@via754
@via754 5 месяцев назад
а зачем избегать? Это вполне удобный инструмент, который очень хорошо поддерживается браузерами
@nightdreamer3339
@nightdreamer3339 3 месяца назад
@@via754 использование данного свойства может повлечь за собой проблемы с доступностью. Особенно, если сайтом будет пользоваться слепой или слабовидящий человек со скринридером. Программы просто не поймут что находится на сайте, если элемент отображен через display: contents.
@DraginAnatoliy
@DraginAnatoliy 3 месяца назад
охренеть, сколько я верстал. а про именно это свойство не знал..
@inikonelectrix2349
@inikonelectrix2349 4 месяца назад
Круто, недавно как раз мечтал о чём то подобном, типо div в fragment стилями превращать)
@88hatecore
@88hatecore 5 месяцев назад
Полезно!
@ramazanbakshish7748
@ramazanbakshish7748 3 месяца назад
как раз недавно делал тз от яндекса, и внедрил данное свойство в свою разметку)
@yjs_frontend
@yjs_frontend 8 дней назад
Не пизди , что ты тз от Яндекса делал
@exelione2229
@exelione2229 4 месяца назад
Полезно кстати, спасибо
@dastiw1
@dastiw1 5 месяцев назад
Это очень удобно когда работаешь с таблицами. Можно обернуть tr-ки дивкой для группировки нескольких строк
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
Только вот такая разметка будет невалидной, доступность точно пострадает, надо быть осторожнее при применении этого фичи к таким элементам. Безопасно только к div и span применять.
@miv2179
@miv2179 5 месяцев назад
Почему мне твоё видео попалось только сейчас а не 2 недели назад когда это было нужно?!
@darveterdarveter4511
@darveterdarveter4511 5 месяцев назад
Тогда не произошёл бы катарсис
@stevejobs333
@stevejobs333 14 дней назад
каждое видео от вас удивляет
@user-xy9zd1bt1i
@user-xy9zd1bt1i 5 месяцев назад
ладно)) думал херня опять какая-то)) но, видимо, не херня всё же. про -1 тоже не знал))
@user-zr8pj1zz2p
@user-zr8pj1zz2p 6 месяцев назад
Интересно, не знал!
@space8143
@space8143 4 месяца назад
Круто, не знал 👍
@user-sx1eu2ve6o
@user-sx1eu2ve6o 5 месяцев назад
Можно ещё сделать через медиа, чтобы при определенной ширине экрана применялось свойство display none, но вариант с content всё же проще😅
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
С none ведь скроется и внутреннее содержимое, это не подойдет.
@ux_ui
@ux_ui 4 месяца назад
У котика бордер тоже скрулить хочется)
@ralfsimpa7423
@ralfsimpa7423 5 месяцев назад
Типичные фронтендеры, берут по стволу в каждую руку и стреляют себе в ноги
@muhammadsalam-dev
@muhammadsalam-dev 5 месяцев назад
что не так?
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
Завидуют нашим «стволам» :) Круто же, что есть такие инструменты, такие функции. Если решение не ломает привычный веб, то почему бы и не пользоваться.
@muhammadsalam-dev
@muhammadsalam-dev 5 месяцев назад
@@AleksanderLamkov согласен) столько времени костыли пилил, а сейчас не придётся себе в ноги стрелять. Спасибо большое!
@ralfsimpa7423
@ralfsimpa7423 5 месяцев назад
Ахах еще успевают вылизать друг другу в коментах, парни спокойно, красим кнопочки и не отвлекаемся))
@muhammadsalam-dev
@muhammadsalam-dev 5 месяцев назад
@@ralfsimpa7423 выше спросил что не так. Не вижу ответа 🤭🤡
@igorchepikov9957
@igorchepikov9957 3 месяца назад
Да, только нечего остатку делать в заголовке карточки🫡
@FrontEndDeveloperAkmatov
@FrontEndDeveloperAkmatov 4 месяца назад
display: contents; Браузеры удаляют любой элемент со свойством display, имеющим значение contents из дерева доступности. Это приводит к тому, что элемент (но не его дочерние элементы) больше не будут восприниматься технологиями чтения экрана. Дочерние элементы становятся дочерними элементами элемента следующего уровня в DOM.
@AleksanderLamkov
@AleksanderLamkov 4 месяца назад
Угу, верно, поэтому contents можно безболезненно задавать только для div и span, то есть для элементов с нейтральными generic-ролями.
@user-wj4pc7te1j
@user-wj4pc7te1j 4 месяца назад
@@AleksanderLamkov Очень сомнительно, что данные об остатках имеют эти самые роли. Скорее наоборот. И придётся всю логику изменения остатков переворачивать.
@AleksanderLamkov
@AleksanderLamkov 4 месяца назад
Я не понимаю о чем речь. Какие ещё "остатки"?
@FrontEndDeveloperAkmatov
@FrontEndDeveloperAkmatov 4 месяца назад
@@AleksanderLamkov я тоже не понял) возможно он имеет виду что это затронет родителей но если правильная вложенность то проблем не должно быть
@virtuoz-ru
@virtuoz-ru 6 месяцев назад
Офигеть 😀
@svhanz
@svhanz 4 месяца назад
Мой мозг вышел из чата.
@ilikecola378
@ilikecola378 6 месяцев назад
Годно
@scott860racing
@scott860racing 6 месяцев назад
Афигеть 😮
@vgshenshin
@vgshenshin 4 месяца назад
Да это какой то chemax на минималках😂
@10Dima01
@10Dima01 2 месяца назад
Надо было текст "купить" заменить на "кусить"
@-Vladimir--
@-Vladimir-- 6 месяцев назад
👍
@NikitinBest
@NikitinBest 6 месяцев назад
Ого, круто
@VicVlasenko
@VicVlasenko 3 месяца назад
А как это работает с навигацией с через кнопки/голосовым помощником для слабовидящих?
@AleksanderLamkov
@AleksanderLamkov 3 месяца назад
Элемент пропадет из AOM-дерева. Скринридер его учитывать не будет. Но на внутреннее содержимое это не повлияет. В общем, главное не добавлять это правило для интерактивных элементов. Лучше задавать только для нейтральных div и span.
@user-zj1fw9di3i
@user-zj1fw9di3i 5 месяцев назад
90% версий браузеров поддерживают это свойство частично. 8 процентов полностью. Частичная поддержка может привести к багам и неопределенному поведению
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
Если нажать на ячейку таблицы, для Partial Supports будет пояснение «Buttons are not accessible with display: contents applied». Не представляю кто в здравом уме будет через contents скрывать кнопки. Логично, что это бы поломало всю функциональность.
@AndreiVvedenskii
@AndreiVvedenskii 5 месяцев назад
А теперь пиши автотесты для этого... этого... я даже не знаю как это назвать.
@vladyslav2779
@vladyslav2779 5 месяцев назад
А если у обертки уже стоит grid или flex?
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
Значит дочерние элементы будут подчинятся правилам блочной модели элемента, который находится ещё выше.
@nem0ch
@nem0ch 4 месяца назад
Как прога называется и тема которая использует
@AleksanderLamkov
@AleksanderLamkov 4 месяца назад
WebStorm, Oceanic Dark Theme
@Mozobretenie
@Mozobretenie 6 месяцев назад
Спасибо, интересно
@maksikgregory4988
@maksikgregory4988 5 месяцев назад
а есть программы где это все можно прокликать мышкой, пошевелить елементы, расставить как нужно, а на выходе получить код хтмл и цсс?
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
Я знаю только про конструктор сайтов Tilda и есть ещё какие-то плагины внутри Wordpress, но названий не помню.
@5384s
@5384s 4 месяца назад
Есть ещё у reg-ru, sweb. У целом, практически любая CMS имеет нечто подобное. Но спустя время активной работы с html, я понял, что функционала конструкторов мне вообще не хватает. И вставки произвольного html кода тоже недостаточно, ввиду ограничений редактирования всего остального окружения. Так что, CMS могу посоветовать только в тех случаях, где их функционал будет достаточен. Или можно делать ещё через консоль разработчика. Там менять и добавлять свойства элементов можно в прямом времени.
@cape4129
@cape4129 3 месяца назад
Топ
@Dypsyn-og7sq
@Dypsyn-og7sq 3 месяца назад
Я знаю почему ты такой умный, тебе в бровь хорошенько дали))
@some_apple_seed
@some_apple_seed 6 месяцев назад
Наверно буду как душнила, но ставить див для текста 😂
@AleksanderLamkov
@AleksanderLamkov 6 месяцев назад
Согласен, параграф подошел бы лучше :)
@user-ju7do4lh2k
@user-ju7do4lh2k 3 месяца назад
я в шоке😮😮😮😮
@user-yv5oi3iv6e
@user-yv5oi3iv6e 2 месяца назад
Так вот, благодаря кому в мобильных версиях сайта пропадают нужные функции!
@AleksanderLamkov
@AleksanderLamkov 2 месяца назад
Например какие? И как это связано с показанным в видео?)
@kotezhva
@kotezhva 3 месяца назад
А это хорошо
@un_defined
@un_defined 3 месяца назад
ну ничего себе
@maxfillsen957
@maxfillsen957 3 месяца назад
Явное всегда лучше неявного. Ваш способ интересный, но не более того
@AleksanderLamkov
@AleksanderLamkov 3 месяца назад
Явный способ - это через JS манипулировать положением элементов или через абсолютное позиционирование костылить? Как мне кажется, единственная адекватная альтернатива способу из видео - согласовать и поменять дизайн в макете, но это ведь не всегда возможно.
@VL4STEL1N
@VL4STEL1N 4 месяца назад
Display: none? Чем-то функционал ведь похож?
@AleksanderLamkov
@AleksanderLamkov 4 месяца назад
Нет, совсем разные вещи. Значение none полностью скроет элемент и его содержимое. А contents скроет только саму обёртку (словно уберет её из разметки), внутреннее содержимое же останется видимым.
@Figase
@Figase 3 месяца назад
Когда нам это пригодиться ? Правильно никогда, если вам требуется делать подобные костыли значит дизайнер плохо выполнил свою работу
@AleksanderLamkov
@AleksanderLamkov 3 месяца назад
В последнем МК на канале это используется несколько раз. Да, в идеальном макете такие мувы на адаптиве видеть бы не хотелось, но что поделать… Инструмент у нас все же есть, так почему бы и не применять его? Пускай дизайнеры делают так, чтобы было красиво, мы, фронты, многое можем с современным CSS.
@user-ot8qv1jb5r
@user-ot8qv1jb5r 2 месяца назад
для етого же есть display none
@AleksanderLamkov
@AleksanderLamkov 2 месяца назад
Разные эффекты. None скроет элемент со всеми дочерними элементами. Contents избавит только от элемента, к которому свойство применили, но не тронет дочерние.
@grizli1884
@grizli1884 6 месяцев назад
Смотрим на поддержку этого свойства и плачем
@AleksanderLamkov
@AleksanderLamkov 6 месяцев назад
97%, это очень много.
@vladislavmulyar6774
@vladislavmulyar6774 5 месяцев назад
@@AleksanderLamkov Из них только 4% полной поддержки))
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
Частичная поддержка включает в себя основной функционал. Если на caniuse в таблице навести на желтый квадратик, будет пояснение, что означает «частичная поддержка» для этого значения свойства.
@user-un7qg9ho4z
@user-un7qg9ho4z Месяц назад
а если написать display none
@AleksanderLamkov
@AleksanderLamkov Месяц назад
Это полностью скроет и элемент и его внутреннее содержимое.
@EvgenOl
@EvgenOl 3 месяца назад
Как можно об этом не знать? Я это в продакшене уже не помню сколько лет использую. Это же даже не новое свойство...
@AleksanderLamkov
@AleksanderLamkov 3 месяца назад
Комментарии показывают, что большинство всё же слышит об этом впервые :)
@EvgenOl
@EvgenOl 3 месяца назад
@@AleksanderLamkovЭто очень странно. Кажется у них должны возникнуть сомнения в собственной профпригодности. Как вообще без этого сложные макеты верстать?
@alexanderten9540
@alexanderten9540 6 месяцев назад
Китайское агенство Синьхуа оценит
@user-iq8ns9jv9q
@user-iq8ns9jv9q 5 месяцев назад
Не люблю это свойство. Поведение делает неочевидным. Садишься впервые за чужой проект и не понимаешь что происходит. Смотришь на блоки в поисках медиа запросов, а это мы-во помешано выше и не можешь понять в чем дело.
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
Да, свойство может сильно запутать. Я его применяю в крайних и сугубо единичных случаях, когда нужно на мобилке перестроить изящнее сетку. Но с отладкой таких стилей проблем ещё не возникало. Девтулз ведь теперь даже блочную модель пишет рядом с элементом в дереве на вкладке Elements, даже в Styles можно не заходить.
@alexander0195
@alexander0195 3 месяца назад
Пиздец я дед. В 2005-м я подключался по dial-up модему, качал все доки по вашему CSS, которые только удалось найти, а потом сидел и ковырял ночами их как ненормальный, забыв о друзьях, подругах и вообще прыщавый задрот был. А теперь IT - это модно и какой-то чел с розовым причесоном рассказывает базовые вещи в красивый длинный микрофон. А я сижу и думаю - а нахуя для этого целое видео снимать и монтировать? Это ж банальщина. Кому это надо? Хотя мож я и не прав и кому-то проще так воспринимать информацию... 🦧
@AleksanderLamkov
@AleksanderLamkov 3 месяца назад
Базовые вещи - это про тему из этого ролика? Да ни на одном курсе этого не говорят, ни в одном учебнике 🥲 Я говорю о весьма специфичных вещах, о которых начинающие зачастую и не слышали.
@alexander0195
@alexander0195 3 месяца назад
​@@AleksanderLamkovвсе ок, не обращай на меня внимание) Хорошо рассказываешь, полезные вещи делаешь.
@nnicanbuak
@nnicanbuak 5 месяцев назад
Странное название
@user-mf3cb1vh6r
@user-mf3cb1vh6r 5 месяцев назад
Ага, только поддержка у него не очень, не больше 90% девайсов судя по caniuse
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
97% поддержка, лучше и быть не может.
@user-mf3cb1vh6r
@user-mf3cb1vh6r 5 месяцев назад
@@AleksanderLamkov частичная поддержка, в целом уже тебе решать использовать или нет, в зависимости от продукта, который делаешь. Я в проекте не использую, слишком дорогая цена ошибки)
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
Если нажать на ячейку таблицы, для Partial Supports будет пояснение «Buttons are not accessible with display: contents applied». Не представляю кто в здравом уме будет через contents скрывать кнопки. Логично, что это бы поломало всю функциональность. Так что считаю поддержку отличной, если не пытаться стрелять себе в ногу.
@via754
@via754 5 месяцев назад
ну у остальных 10% количество просто не выведется на первое место
@screen434
@screen434 4 месяца назад
я радиоэлектронщик и я ниххуя не понимаю...
@dahan20202
@dahan20202 5 месяцев назад
Товар в начало смысл его ставить? И почему методом вывода из базы данных не отсортируете. Бред полнейший на практике не используется
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
Вы точно к нужному видео комментарий пишете? При чем тут это? Речь идет про верстку интерфейсов, про то, как можно скрыть элемент, определенный слой в иерархии разметки, чтобы он не мешался для реализации нечто подобного, что показано в шортсе.
@user-wq9gc4rj3w
@user-wq9gc4rj3w 3 месяца назад
Фотошоп какой то.
@user-vy7zp1ed9c
@user-vy7zp1ed9c 5 месяцев назад
дааа ну нахуй?
@megaloman3807
@megaloman3807 2 месяца назад
Если у вас нет культуры написания кода, все ваши костыли во вред.
@twixtwix12321
@twixtwix12321 4 месяца назад
Мда
@radunov.a
@radunov.a 5 месяцев назад
Я бы через жс лучше убрал лишний див, так сработает у всех
@AleksanderLamkov
@AleksanderLamkov 5 месяцев назад
Слишком накладно по производительности, это ведь копию внутренних элементов нужно делать, куда-то сохранять, затем повторно рендерить, а если события к элементам привязаны или другая логика - нужно ещё море дополнительных действий. display contents и так сработает буквально у всех, поддержка у него отличная, не хуже, чем у каких-нибудь гридов.
Далее
С Анджилишей как в раю🥰
00:10
Просмотров 161 тыс.
Мы будем есть ЭТО через 100 лет?!
00:55
CSS GRID Большое руководство
1:10:16
Просмотров 62 тыс.
Баста - Выпускной (Медлячок)
5:44