Что входит в участие в бизнес-клубе
Шесть плиток с тем, что получает участник клуба: у каждой указана частота и формат, а фильтр наверху оставляет только онлайн, офлайн или переписку.
<section class="vbchk">
<div class="vbchk-wrap">
<div class="vbchk-head">
<div>
<h2 class="vbchk-h2">Из чего состоит год в клубе</h2>
<p class="vbchk-lead">Шесть вещей, ради которых участники продлевают участие. У каждой указана частота и формат, чтобы вы понимали нагрузку заранее.</p>
</div>
<div class="vbchk-filter" id="vbchk-filter">
<button type="button" class="vbchk-chip vbchk-chip--on" data-m="all">Всё</button>
<button type="button" class="vbchk-chip" data-m="online">Онлайн</button>
<button type="button" class="vbchk-chip" data-m="offline">Офлайн</button>
<button type="button" class="vbchk-chip" data-m="chat">В переписке</button>
</div>
</div>
<div class="vbchk-grid" id="vbchk-grid">
<article class="vbchk-item" data-m="online">
<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><g fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><rect x="2.5" y="5" width="14" height="14" rx="3"/><path d="M16.5 10.5l5-3v9l-5-3z"/></g></svg>
<h3>Встречи клуба</h3>
<p>Два часа по видеосвязи: тема месяца, разбор рабочих ситуаций и ответы на вопросы участников. Запись остаётся в базе, если попасть не вышло.</p>
<ul class="vbchk-meta"><li>Два раза в месяц</li><li>Онлайн</li></ul>
</article>
<article class="vbchk-item" data-m="online">
<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><g fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19h16M7 19v-6M12 19V6M17 19v-9"/><path d="M15 4l3-1.4L21 4"/></g></svg>
<h3>Разбор вашей компании</h3>
<p>Раз в квартал каждый участник выносит свою задачу на общий разбор. Готовим цифры заранее, час идёт на вопросы группы и час на решения.</p>
<ul class="vbchk-meta"><li>Раз в квартал</li><li>Онлайн, полтора часа</li></ul>
</article>
<article class="vbchk-item" data-m="chat">
<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><g fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 14a2 2 0 0 1-2 2H8l-4 4V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z"/><path d="M8 9h8M8 12.5h5"/></g></svg>
<h3>Чат участников</h3>
<p>Место, где спрашивают про подрядчиков, зарплатные вилки и работающие связки. Отвечают участники и я, рекламных сообщений в чате нет.</p>
<ul class="vbchk-meta"><li>Каждый день</li><li>В переписке</li></ul>
</article>
<article class="vbchk-item" data-m="online">
<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><g fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5.5A1.5 1.5 0 0 1 5.5 4H11v16H5.5A1.5 1.5 0 0 1 4 18.5z"/><path d="M20 5.5A1.5 1.5 0 0 0 18.5 4H13v16h5.5a1.5 1.5 0 0 0 1.5-1.5z"/></g></svg>
<h3>База материалов</h3>
<p>Записи прошлых встреч, шаблоны финмодели, регламенты найма и разборы за три года. Открывается в первый день и остаётся доступной весь срок участия.</p>
<ul class="vbchk-meta"><li>Доступ в любое время</li><li>Онлайн</li></ul>
</article>
<article class="vbchk-item" data-m="chat">
<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><g fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12.5V6a2 2 0 0 1 2-2h6.5L20 11.5a2 2 0 0 1 0 2.8l-5.7 5.7a2 2 0 0 1-2.8 0z"/><circle cx="8.5" cy="8.5" r="1.4"/></g></svg>
<h3>Скидки у партнёров</h3>
<p>Двадцать два сервиса и подрядчика дают участникам условия ниже прайса: бухгалтерия, право, найм, реклама. Список лежит в базе и пополняется.</p>
<ul class="vbchk-meta"><li>Круглый год</li><li>По запросу в переписке</li></ul>
</article>
<article class="vbchk-item" data-m="offline">
<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><g fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3.2"/><circle cx="17" cy="9.5" r="2.4"/><path d="M3 19c0-3.2 2.7-5 6-5s6 1.8 6 5"/><path d="M16.5 14c2.6.2 4.5 1.9 4.5 5"/></g></svg>
<h3>Офлайн-встречи</h3>
<p>Четыре раза в год собираемся в Москве на целый день: стратегическая сессия, мастермайнд по группам и ужин без повестки. Участие входит в стоимость года.</p>
<ul class="vbchk-meta"><li>Четыре раза в год</li><li>Офлайн, целый день</li></ul>
</article>
</div>
<p class="vbchk-empty" id="vbchk-empty" hidden>По этому формату в клубе ничего нет. Вернитесь к пункту «Всё».</p>
<p class="vbchk-foot">Участие годовое, вступление открыто дважды в год. Перед вступлением мы созваниваемся и смотрим, совпадают ли ваши задачи с тем, чем занят клуб сейчас.</p>
</div>
</section>
<style>
.vbchk, .vbchk *, .vbchk *::before, .vbchk *::after { box-sizing: border-box; }
.vbchk { --acc: #c9a253; --bg: #13161c; --tile: #1b1f27; --ink: #e9ecf1; --muted: #939cab; --line: #2a3039;
--f: var(--t-text-font, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif);
--fh: var(--t-headline-font, var(--f));
background: var(--bg); color: var(--ink); font-family: var(--f); padding: clamp(36px, 5vw, 84px) 20px; }
.vbchk-wrap { max-width: 1220px; margin: 0 auto; padding: 0 clamp(0px, 2vw, 36px); }
.vbchk-head { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(20px, 3vw, 44px); align-items: end; margin-bottom: clamp(26px, 3.4vw, 44px); }
.vbchk-h2 { font-family: var(--fh); font-size: clamp(26px, 3.4vw, 42px); line-height: 1.1; font-weight: 700; letter-spacing: -.022em; margin: 0 0 12px; }
.vbchk-lead { font-size: 16px; line-height: 1.65; color: var(--muted); margin: 0; max-width: 40em; }
.vbchk-filter { display: flex; flex-wrap: wrap; gap: 8px; }
.vbchk-chip { border: 1px solid var(--line); margin: 0; padding: 10px 16px; -webkit-appearance: none; appearance: none; font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; border-radius: 999px; background: transparent !important; color: var(--muted) !important; transition: .18s ease; }
.vbchk-chip:hover { color: var(--ink) !important; border-color: var(--acc); }
.vbchk-chip--on, .vbchk-chip--on:hover { background: var(--acc) !important; border-color: var(--acc); color: #17191d !important; }
.vbchk-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(12px, 1.6vw, 18px); }
.vbchk-item { background: var(--tile); border: 1px solid var(--line); border-radius: 20px; padding: clamp(20px, 2.4vw, 28px); display: flex; flex-direction: column; transition: border-color .2s ease, opacity .25s ease; }
.vbchk-item:hover { border-color: #3a4250; }
.vbchk-item svg { width: 30px; height: 30px; color: var(--acc); margin-bottom: 16px; }
.vbchk-item h3 { font-family: var(--fh); font-size: 19px; line-height: 1.25; font-weight: 700; margin: 0 0 10px; }
.vbchk-item p { margin: 0 0 18px; font-size: 14.5px; line-height: 1.65; color: var(--muted); }
.vbchk-meta { list-style: none; display: flex; flex-wrap: wrap; gap: 7px; margin: auto 0 0; padding: 0; }
.vbchk-meta li { font-size: 12px; line-height: 1; padding: 8px 12px; border-radius: 999px; background: #232833; color: #b6bdc8; }
.vbchk-meta li:first-child { background: rgba(201,162,83,.14); color: var(--acc); }
.vbchk-hide { display: none; }
.vbchk-empty { margin: 24px 0 0; font-size: 15px; color: var(--muted); }
.vbchk-foot { margin: clamp(24px, 3vw, 38px) 0 0; padding-top: clamp(20px, 2.6vw, 30px); border-top: 1px solid var(--line); font-size: 13px; line-height: 1.65; color: #6f7889; max-width: 60em; }
@media (max-width: 900px) { .vbchk-head { grid-template-columns: minmax(0, 1fr); align-items: start; } }
@media (prefers-reduced-motion: reduce) { .vbchk * { transition: none !important; } }
</style>
<script>
(function () {
var roots = document.querySelectorAll('.vbchk');
for (var i = 0; i < roots.length; i++) init(roots[i]);
function init(root) {
if (root.__vb) return; root.__vb = 1;
var chips = root.querySelectorAll('.vbchk-chip');
var items = root.querySelectorAll('.vbchk-item');
var empty = root.querySelector('#vbchk-empty');
function apply(mode) {
var shown = 0;
for (var n = 0; n < items.length; n++) {
var ok = mode === 'all' || items[n].getAttribute('data-m') === mode;
items[n].className = ok ? 'vbchk-item' : 'vbchk-item vbchk-hide';
if (ok) shown++;
}
empty.hidden = shown > 0;
}
for (var c = 0; c < chips.length; c++) {
chips[c].addEventListener('click', function () {
for (var m = 0; m < chips.length; m++) chips[m].className = chips[m] === this ? 'vbchk-chip vbchk-chip--on' : 'vbchk-chip';
apply(this.getAttribute('data-m'));
});
}
apply('all');
}
})();
</script> Вставляется целиком в блок T123 «HTML-код». Внутри уже есть стили и скрипт, подключать ничего не нужно.
Как вставить блок в Tilda
- Скопируйте кодКнопка «Скопировать код» выше кладёт всё содержимое в буфер обмена.
- Добавьте блок T123В редакторе страницы: «Библиотека блоков» → «Другое» → T123 «HTML-код».
- Вставьте и сохранитеНажмите «Контент», вставьте код в поле, сохраните и обновите страницу.
- ОпубликуйтеВ превью скрипты Tilda работают не всегда — проверяйте на опубликованной странице.
Подробная инструкция с граблями — как вставить вайб-блок в Tilda.
Что менять под себя
| Где в коде | За что отвечает |
|---|---|
текст внутри article | название пункта, описание и две подписи с частотой и форматом |
атрибут data-m у плитки | к какому формату относится пункт: online, offline или chat |
кнопки в vbchk-filter | набор фильтров и подписи к ним |
иконки svg внутри плиток | картинка рядом с названием пункта |
текст vbchk-foot | условия вступления и оговорка про созвон перед клубом |
Что входит в участие в клубе: зачем он нужен
Плитки собраны так, чтобы человек до вступления понимал нагрузку: рядом с описанием стоят две подписи, частота и формат. Внутри встречи клуба, разбор компании участника, общий чат, база материалов, скидки у партнёров и офлайн-встречи. Тексты лежат прямо в разметке, поэтому править их можно без правки скрипта.
Наверху стоит фильтр из четырёх кнопок. Он смотрит на атрибут data-m у плитки и прячет всё лишнее, а если под выбранный формат ничего не попало, показывает строку-заглушку. Сетка построена на repeat с auto-fit, поэтому на широком экране плитки идут в три колонки, на планшете в две, на телефоне в одну. Фон тёмный, под первым экраном наставника из этой же ниши, акцент песочный.
Вопросы по этому блоку
-
Скопируйте любой article целиком, поменяйте иконку, заголовок, описание и подписи. Не забудьте про data-m, иначе плитка пропадёт при фильтрации по формату.
-
Да. Удалите блок vbchk-filter из разметки, скрипт при этом не сломается: он просто не найдёт кнопки и оставит все плитки видимыми.
-
Поменяйте на корне --bg и --tile на светлые оттенки, --ink на тёмный, --line на светло-серый. Подписи в vbchk-meta заодно поправьте на более тёмный фон текста.
-
Да. Код на этой странице копируется целиком, без регистрации и подписки. Указывать авторство не нужно, использовать можно в коммерческих проектах.
-
Нет. Все классы внутри имеют собственный префикс vbchk, поэтому не пересекаются ни со стилями Tilda, ни с другими блоками. Скрипт привязан к своему элементу и запускается один раз, даже если блок вставлен дважды.
-
Раскладка перестраивается под узкие экраны, размеры заданы через clamp, поля ввода имеют шрифт 16 пикселей — iOS не будет зумить страницу при фокусе. Отдельной мобильной версии подключать не нужно.
Другие блоки преимуществ
Ещё блоки для коучинга и бизнес-клубов
Собрать сайт целиком, а не по блокам
Дровосеки делают сайты на Tilda под ключ: структура, тексты, дизайн, вёрстка и вайб-блоки под задачи бизнеса.