From 465ecd3074cf5182d8b934a18ca37c5f9bc743cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B3=D0=BE=D1=80=D1=8C=20=D0=9D=D0=B0=D0=B4=D0=B5?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Sat, 29 Nov 2025 15:42:12 +0300 Subject: [PATCH] =?UTF-8?q?fix(layout):=20=D1=84=D0=B8=D0=BA=D1=81=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D0=B0=D1=8F=20=D0=B2=D1=8B?= =?UTF-8?q?=D1=81=D0=BE=D1=82=D0=B0=20sidebar=20=D0=B8=20rightbar=20=D0=B1?= =?UTF-8?q?=D0=B5=D0=B7=20=D1=81=D0=BA=D1=80=D0=BE=D0=BB=D0=BB=D0=B0=20?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Sidebar и rightbar теперь sticky с фиксированной высотой - Высота = 100vh - navbar - 2*layout-padding-y (12px сверху + 12px снизу) - top = navbar + layout-padding-y - Элементы не перемещаются с основным скроллом страницы - Имеют собственный внутренний скролл при переполнении - Размер определяется как высота страницы минус navbar минус 2 отступа --- backend/static/css/components/rightbar-calendar.css | 8 ++++++-- backend/static/css/components/sidebar.css | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/backend/static/css/components/rightbar-calendar.css b/backend/static/css/components/rightbar-calendar.css index 68d61e8d..8ecb92b7 100644 --- a/backend/static/css/components/rightbar-calendar.css +++ b/backend/static/css/components/rightbar-calendar.css @@ -47,11 +47,15 @@ padding: var(--space-2); } +/* На десктопе rightbar становится sticky с фиксированной высотой + Высота = 100vh - navbar - 2*отступ (сверху и снизу) + top = navbar + отступ сверху + Не перемещается с основным скролом страницы, скролл только внутри .card-body */ @media (min-width: 992px){ .rightbar{ position: sticky; - top: var(--navbar-h); - height: calc(100dvh - var(--navbar-h)); + top: calc(var(--navbar-h) + var(--layout-padding-y, 12px)); + height: calc(100dvh - var(--navbar-h) - 2 * var(--layout-padding-y, 12px)); overflow: hidden; /* padding управляется через Bootstrap классы в шаблоне (px-0, py-3 и т.д.) */ } diff --git a/backend/static/css/components/sidebar.css b/backend/static/css/components/sidebar.css index edd20d4b..2ac7fb61 100644 --- a/backend/static/css/components/sidebar.css +++ b/backend/static/css/components/sidebar.css @@ -17,11 +17,15 @@ background: var(--bs-body-bg); } +/* На десктопе sidebar становится sticky с фиксированной высотой + Высота = 100vh - navbar - 2*отступ (сверху и снизу) + top = navbar + отступ сверху + Не перемещается с основным скролом страницы, имеет свой внутренний скролл */ @media (min-width: 992px) { #sidebar.offcanvas-lg { position: sticky; - top: var(--navbar-h, 60px); - height: calc(100dvh - var(--navbar-h, 60px)); + top: calc(var(--navbar-h, 60px) + var(--layout-padding-y, 12px)); + height: calc(100dvh - var(--navbar-h, 60px) - 2 * var(--layout-padding-y, 12px)); align-self: start; overflow: auto; border-right: .5px solid var(--bs-border-color);