171 похожих чатов

Парни была тема про pagespeed. Подскажите, что означает CLS (Cumulative

Layout Shift) и как его можно улучшить?

18 ответов

21 просмотр

это к @dramspro он там псину захомячил

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

Степан Гончаров 🇷🇺
table))))))))

Никто и никогда не вернёт нам 2007 год)))

Roman-S Автор вопроса
Артур Шевченко💀
Это означает смещение макета, т.е. сначала у тебя ...

Если скажем сетку div использую, по-любому div без стилей будет смещен.

Roman S
Если скажем сетку div использую, по-любому div без...

Скажем так это моё понимание, скорее всего всё сложнее. Но @dramspro говорил надо мол высоту элементам указывать. Но если это делать в относительных единицах, то как это поможет я хз.

Артур Шевченко💀
Это означает смещение макета, т.е. сначала у тебя ...

как правило это значит, что разметочные стили не в критикал, а в основном css

Roman-S Автор вопроса
Артур Шевченко💀
Скажем так это моё понимание, скорее всего всё сло...

Я понял, скорее всего, тут идет учет, без js, как твоя верстка выглядит и применением js насколько она из меняется. На мой взгляд это было бы более логично.

Roman S
Я понял, скорее всего, тут идет учет, без js, как ...

Привет! По #pagespeed я пару дней назад тут делился своим подходом. Могу чуть подробнее раскрыть вопрос прыгающего контента (CLS). Он появляется в основном в случаях: • слайдер, пока не отработал JS • модульная сетка, где вертикальный отступ рассчитывается через JS → Эти моменты решаются установкой фикс. или макс. высоты в CSS • картинки без явного указания ширины и высоты → тут стоит отметить что стилями ширину можно сделать адаптивной, но тогда явное указание даст браузеру инфу о пропорциях! • ajaxSnippet или подобные решения, когда контент подгружается попозже → тоже надо как с картинками решать • медленный парсинг CSS. → Это вопрос комплексный, может помочь просто более ранняя подгрузка стилей, может удаление вложенных импортов (объединение файлов или если не подходит, хотя бы вынос всех подключений на 1й уровень), также если правда очень сложные, это самый печальный вариант, тогда поможет переверстка на БЭМ... Как-то так 👻

Roman-S Автор вопроса
Дима 🚀 Сайт
Привет! По #pagespeed я пару дней назад тут делилс...

Спасибо. Я сейчас понял в чем проблема, на сайте просто генерируется страница и часть блоков прячется с помощью js, вот сейчас думаю, как это обойти.

Roman S
Спасибо. Я сейчас понял в чем проблема, на сайте п...

Прячь с помощью CSS (только класс должен изначально быть добавлен в вёрстку а не js-ом добавляться) или ещё лучше, атрибутом hidden. Так и победишь!

Roman-S Автор вопроса
Дима 🚀 Сайт
Покажешь потом что получилось с pagespeed?

Да, покажу конечно. Сейчас думаю как сделать. Почему-то в pdoMenu не работает 'return' => 'json'

Roman S
Да, покажу конечно. Сейчас думаю как сделать. Поч...

Он там по-моему не работает. Могу ошибаться.

Roman-S Автор вопроса
Roman-S Автор вопроса
Дима 🚀 Сайт
Покажешь потом что получилось с pagespeed?

CLS до 100% сделал, с 82 до 96. Это супер пришлось переписать вывод pdoMenu, но это того стоило. Оказалось, что были блоки, которые скрывались js скриптом, поэтому CLS был очень низкий (20%). CCS вообще не трогал. Осталось поработать только над мобильной версией.

Roman S
CLS до 100% сделал, с 82 до 96. Это супер пришлось...

Мои поздравления! Качаем #pagespeed в MODX! Плюсик в аргументацию заказчикам при выборе среди других CMS! Про прокачку под мобильные я писал недавно, ищи по хэштегу, если нужно.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта