Перейти к содержимому
Забрать бесплатно
Модификации выключены. Так эта страница выглядит на обычной Тильде.

Почему Autoscale увеличил страницу, но не попап

12 августа 2026 3 МИН КОМАНДА MODKOD

Если Autoscale увеличил страницу, а попап остался мелким, не добавляйте второй `transform: scale()` вслепую. Сравните `t-record_scaled` и вычисленный `zoom` у обычной записи и попапа. Готовый MOD-181 решает более узкую задачу: вписывает явно размеченный внутренний контейнер в окно, не вмешиваясь в слой попапа и не выдавая себя за исправление родного Autoscale.

✓ ПРОВЕРЕНО 29 июля 2026 родной Autoscale применяет zoom к t-record_scaled и учитывает data-scale-off; в сохранённом магазине t-popup находится внутри записи, а не вынесен за её пределы — tilda-autoscale-1.0.min.js и сохранённая страница магазина modkit/stand/shop.html

Короткий ответ

У родного Autoscale главный признак — класс t-record_scaled, а результат — вычисленное CSS-свойство zoom. Если попап мелкий, сравните эти два признака у обычной записи и у записи попапа. Только после этого понятно, не включили ли его в масштабирование или включили с неправильным коэффициентом.

Что уже известно точно

Рантайм Autoscale не масштабирует страницу через transform. Он добавляет правила для .t-record_scaled и задаёт переменную масштаба, которую браузер использует как zoom. Подробно это разобрано в статье про Autoscale и transform.

Ещё один штатный механизм — data-scale-off. Если у элемента стоит значение yes, Тильда не применяет к нему масштабирование. Рантайм и сам ставит такой атрибут некоторым узлам, поэтому правило «найти всё внутри попапа и удалить data-scale-off» опасно: вместе с нужным содержимым можно затронуть карту, фиксированную часть или другой специальный элемент.

Какая очевидная версия оказалась неверной

Легко предположить: попап создаётся в конце страницы, лежит вне масштабируемой записи и потому не получает zoom. На сохранённой странице магазина это не так: контейнер .t-popup находится внутри <div id="rec…">.

Но положение в HTML ещё не доказывает масштабирование. Решающий вопрос — получает ли запись попапа t-record_scaled после публикации и открытия. Этот класс может зависеть от настроек конкретной записи, момента инициализации и сценария чужой модификации. MOD-181 не пытается чинить этот неизвестный участок: он работает только с внутренним контейнером, который дизайнер отметил своим классом, и не меняет масштаб самой записи.

Безопасная проверка на опубликованной странице

Откройте попап, затем вставьте в консоль браузера:

const popup = document.querySelector('.t-popup_show, .t-popup');
const record = popup?.closest('[id^="rec"]');

console.log({
  record: record?.id,
  scaled: record?.classList.contains('t-record_scaled'),
  zoom: record ? getComputedStyle(record).zoom : null,
  excluded: record?.getAttribute('data-scale-off'),
});

Проверка только читает страницу. Сделайте тот же замер для обычной записи, которая выглядит правильно. Получатся четыре полезных сценария:

Обычная записьПопапЧто проверять дальше
есть класс и zoomнет классапочему запись попапа не включена в Autoscale
есть класс и zoomкласс есть, zoom другоймомент пересчёта и собственные отступы
обе одинаковыпопап всё равно мелкийвнутренний контейнер или второй масштаб чужого мода
класса нет нигдестраница кажется крупнееэто не родной Autoscale или замерен не тот блок

Почему второй масштаб — плохая заплатка

transform: scale() может визуально увеличить прямоугольник, но не становится частью контракта Autoscale. У него своя точка трансформации, а размеры раскладки и видимый результат начинают расходиться. Особенно неприятны последствия внутри попапа:

  • крестик закрытия визуально и фактически оказывается в разных местах;
  • появляется лишняя прокрутка или обрезание;
  • фиксированная колонка перестаёт вести себя как фиксированная;
  • повторное открытие получает второй масштаб;
  • на другом брейкпоинте коэффициенты перемножаются.

Слой попапа — отдельный вопрос. Если окно не мелкое, а находится под корзиной, это диагностируется через контексты наложения, а не через масштаб. Для него есть отдельный разбор про попап и z-index.

Что передать разработчику

Снимите четыре значения при открытом окне: id записи, наличие t-record_scaled, вычисленный zoom и data-scale-off. Добавьте ширину окна и уточните, работает ли тот же попап без стороннего Autoscale.

Этого достаточно, чтобы отличить недостающий класс от двойного масштаба и ошибки внутренней обёртки. Обещать готовое решение до такого замера нельзя: сохранённая страница доказала устройство DOM, но не доказала состояние класса у конкретного живого проекта.

Вопросы по этой статье 4

Вы получите второй независимый масштаб с другой точкой отсчёта. Он может изменить положение окна, область клика, прокрутку и работу фиксированных элементов, не устранив причину.