Heiligenweb | Tilda & Low-Code
59 subscribers
6 photos
7 videos
2 links
Простые и рабочие лайфхаки по кастомизации сайтов на Tilda с помощью кода. Для начинающих дизайнеров и тех, кто хочет делать сайты под себя, а не по шаблону.
Download Telegram
🔵Кастомизация сайтов на Tilda

М
ногие, кто только начал работать с Tilda, пугаются, когда дело доходит до кода. HTML, CSS, JS — звучит сложно. Но на практике для большинства задач хватает базовых знаний и простых решений.
Я не профи в программировании. Но умею быстро находить и применять лёгкие ходы, которые реально делают сайты лучше. В этом канале я буду делиться именно такими приёмами.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Анимация перебора чисел при скролле

Считаем от 0 до нужного числа при скролле. Без дополнительных библиотек.

<!-- Подключаем jQuery — без него анимация работать не будет.
Если jQuery уже подключён на странице, эту строку можно не добавлять -->
<script src="https://static.tildacdn.com/js/jquery-1.10.2.min.js" charset="utf-8" onerror="this.loaderr='y';"></script>

<script>
$(function () {

// Массив с настройками для каждого счётчика
// Пояснение:
// [0] — класс блока (без точки)
// [1] — до какого числа считать
// [2] — текст, который появится после числа (если нужно)
// [3] — на каком расстоянии до блока запустить анимацию
// [4] — сколько по времени идёт анимация (в миллисекундах)
const items = [
['num_1', 10, '', 100, 650],
['num_2', 246, '', 100, 750],
['num_3', 357, '', 100, 800]
];

// Перебираем каждый блок
items.forEach(elArr => {

let animated = false; // переменная, чтобы анимация запустилась только один раз

// Находим элемент по классу + добавляем .tn-atom (это нужно, если число находится внутри стандартного блока Tilda)
const $el = $('.' + elArr[0] + ' .tn-atom');

// Слушаем событие скролла
$(window).on('scroll', () => {

// Если анимация уже была — выходим
if (animated) return;

// Считаем, когда блок попадает в зону видимости (с учётом отступа elArr[3])
const triggerPoint = $el.offset().top - $(window).height() + elArr[3];

// Проверяем, достигли ли нужной позиции на странице
if ($(window).scrollTop() > triggerPoint) {
animated = true; // чтобы не запускалось снова при скролле вверх-вниз

// Анимируем число от 0 до заданного значения
$({ val: 0 }).animate({ val: elArr[1] }, {
duration: elArr[4], // сколько длится анимация
easing: 'swing', // тип анимации (плавная)

// На каждом шаге обновляем содержимое блока
step(val) {
$el.html(
String(Math.ceil(val)) // округляем до целого вверх
.replace(/(\d)(?=(\d{3})+([^\d]|$))/g, '$1 ') // добавляем пробелы в больших числах: 1000 → 1 000
+ ' ' + elArr[2] // добавляем подпись (если есть)
);
}
});
}
});
});

});
</script>


На что обратить внимание при верстке:

— У блока с числом должно быть достаточно ширины, чтобы в нем поместилось финальное значение (ширину лучше выставить вручную).
— Стартовое число (0) лучше выравнивать по правому краю, чтобы анимация выглядела стабильно.
— Для верстки используйте класс .num_1, .num_2 и так далее — имя класса вы указываете для блока с числом при верстке и добавляете в массив.

Если нужно адаптировать под свой макет — просто добавьте или измените строку в массиве. Скрипт сам всё обработает. Без дублирования кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
4👾4👨‍💻2
👩‍💻 Плавный скролл страницы

Библиотека SmoothScroll делает скролл мягким, плавным и настраиваемым. Всё просто — подключаем и задаём параметры. Работает с мышкой, стрелками на клавиатуре и тачпадом.

<!-- Подключаем библиотеку SmoothScroll с CDN -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/smoothscroll/1.4.10/SmoothScroll.min.js"
integrity="sha256-huW7yWl7tNfP7lGk46XE+Sp0nCotjzYodhVKlwaNeco="
crossorigin="anonymous"></script>

<script>
// Запускаем SmoothScroll с нашими настройками
SmoothScroll({
animationTime: 800, // Время анимации скролла (в мс). 800 = 0.8 секунды
stepSize: 60, // Расстояние одного "шага" скролла (в пикселях)

accelerationDelta: 30, // Через сколько мс начнётся ускорение при быстрой прокрутке
accelerationMax: 2, // Максимальный коэффициент ускорения

keyboardSupport: true, // Включаем плавный скролл при нажатии на клавиши ↑ ↓ PageUp/PageDown
arrowScroll: 50, // Шаг скролла при использовании стрелок на клавиатуре

pulseAlgorithm: true, // Использовать эффект "пульсации" (более естественное замедление)
pulseScale: 4, // Сила эффекта пульсации
pulseNormalize: 1, // Нормализация пульсации (оставляем как есть)

touchpadSupport: true // Поддержка тачпада (важно для ноутбуков)
});
</script>


Первое видео — скролл без кода, второе — с использованием кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍2
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Наложение элементов с помощью mix-blend-mode

Если ты хочешь, чтобы текст или изображение вживались в фон, как в Figma с режимом Multiply или Overlay — это можно сделать прямо в Tilda через CSS.

1. Добавляем CSS-класс: В Zero-блоке присвой элементу класс, например: .example

2. Пишем код с нужным стилем: Создай HTML-блок и вставь код

<style>
.example {
mix-blend-mode: multiply; /* указываем тип наложения */
opacity: 0.8; /* прозрачность для лучшего эффекта */
}
</style>


3. Используем прозрачность (opacity) для достижения нужного эффекта.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Автоскейл и стандартные блоки

Когда в стандартных блоках включен автоскейл — элементы могут расползаться. Особенно карточки.

Решение простое — ограничить им максимальную ширину.

Что делать:

1. Открываем страницу с автоскейлом
Видим как карточки растягиваются на ширину экрана. Но последняя карточка смещается на вторую строку. Это происходит из-за того, что совокупная ширина карточек и отступов превышает 1200px (ширина рабочей области при работе с автоскейлом).

2. Подбираем ширину вручную
Открываем DevTools (F12 или ПКМ → «Просмотреть код»).
Находим карточку и через панель стилей экспериментируем с max-width.
Например, подогнали под 350px.

3. Пишем CSS с нужным классом
Создаём HTML-блок с кодом и вставляем:

<style>
@media screen and (min-width: 1200px) {
.t-col_4 {
max-width: 350px;
}
}
</style>
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3
👩‍💻 Цветная плашка под текст в стандартных блоках

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

Последовательность действий:

1. Определить нужный элемент в инспекторе (пример: .t225__uptitle)
2. Добавить в код ID блока, чтобы стиль применился только внутри него
3. Настроить цвет, размеры, отступы согласно макету

<style>
#rec1236955056 .t225__uptitle {
background-color: rgba(185,137,52,0.1); /* Цвет фона. rgba(R,G,B,прозрачность) */
width: 136px; /* Ширина плашки */
height: 26px; /* Высота плашки */
display: flex; /* Центрирование содержимого */
align-items: center; /* Вертикальное выравнивание */
justify-content: center; /* Горизонтальное выравнивание */
border-radius: 20px; /* Закругленные углы */
margin: 0 auto; /* Центрирование блока */
margin-bottom: 12px; /* Отступ снизу */
padding: 4px 8px; /* Внутренние отступы */
}
</style>
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥1
Друзья, я создал профиль для своих работ, буду рад вам!

ссылка 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1
👩‍💻 Два калькулятора на одной странице + плавное переключение между ними

Пользователь выбирает вкладку, вводит свои данные — и сразу видит результат. А фраза рядом с формой автоматически меняется. Такой формат удобнее обычных статичных расчётов — человек вовлекается, играет с параметрами, задерживается на странице дольше. Табы сделал через Zero Block + jQuery, а подстановку текста — небольшим JS-скриптом.

Последовательность действий:
1. Создаем Zero Block: один для табов, каждый новый калькулятор — это отдельный Zero, на моем примере получилось всего три.
2. Каждой кнопке присваиваем класс .tab-btn и вставляем ссылки в каждую кнопку: в первую #tab1, во вторую #tab2 и так далее.
3. Zero-блокам с калькуляторами присваиваем классы .uc-tab1, .uc-tab2 и так далее.
4. Используем код:

<style>
.tab--active {
background:#0000FF !important; /* фоновый цвет активной кнопки (синий) */
color:#fff !important; /* цвет текста активной кнопки (белый) */
}
</style>


<script>
document.addEventListener("DOMContentLoaded", function () {

const $tabs = $(".tab-btn a"); // находим все кнопки-вкладки
const $blocks = $('[class*="uc-tab"]'); // находим все блоки, которые переключаются

$blocks.hide(); // скрываем все вкладки
$(".uc-tab1").show(); // показываем первую вкладку
$('[href="#tab1"]').addClass("tab--active");// делаем первую кнопку активной

// событие при клике по вкладке
$tabs.on("click", function (e) {
e.preventDefault(); // отключаем стандартное поведение ссылки (чтобы страница не прыгала)

const target = $(this).attr("href").replace("#", "");
// получаем ID вкладки из ссылки. Было "#tab2" — станет "tab2"

$tabs.removeClass("tab--active"); // убираем активный стиль у всех кнопок
$(this).addClass("tab--active"); // добавляем активный стиль на кликнутую кнопку

$blocks.hide(); // скрываем все вкладки
$(".uc-" + target).show(); // показываем ту вкладку, на которую нажали

if (typeof t_lazyload_update === "function") t_lazyload_update();
// если на странице есть картинки с lazy-load, обновляем их подгрузку
});
});
</script>
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1