Skip to content

fix(SplitCol): remove height#9522

Merged
EldarMuhamethanov merged 1 commit intomasterfrom
e.muhamethanov/split-col-fix-flex-align
Feb 27, 2026
Merged

fix(SplitCol): remove height#9522
EldarMuhamethanov merged 1 commit intomasterfrom
e.muhamethanov/split-col-fix-flex-align

Conversation

@EldarMuhamethanov
Copy link
Copy Markdown
Contributor

@EldarMuhamethanov EldarMuhamethanov commented Feb 27, 2026


Описание

Убираем жесткое ограничение по высоте у корневого элемента SplitCol, чтобы высота колонки определялась флекс-раскладкой и содержимым, а не искусственным block-size: 100%. Явный height: 100%/block-size: 100% у прямого flex-ребенка может как оказаться бесполезным (особенно когда колонка одна), так и ломать раскладку: он требует корректно заданной высоты у всех предков, плохо дружит с вложенными height: 100% и легко приводит к неожиданному переполнению.

Изменения

  • Из класса .host удален block-size: 100%, потому что:
    • В flex-контейнере по горизонтали (row) высота дочерних элементов и так выравнивается за счет align-items: stretch — задавать height: 100%/block-size: 100% прямым детям чаще всего не нужно и может конфликтовать с флекс-алгоритмом.
    • При одной колонке (один SplitCol во флексе) явный height: 100% не дает пользы: высота колонки все равно должна определяться содержимым и/или общими ограничениями контейнера, а не фиктивной «100%» без гарантированной высоты у предков.
    • При нескольких колонках жесткий block-size: 100% на одном из flex-детей может мешать им корректно подстраиваться друг под друга по высоте (особенно когда соседняя колонка выше из‑за контента), что приводит к визуально «обрезанной» или, наоборот, избыточной колонке.
    • Для вложенных блоков с height: 100% и sticky/fixed элементами такой корневой 100% легко становится источником багов: он требует точной цепочки высот у предков, усиливает проблемы с padding/border (без box-sizing: border-box) и усложняет поддержку.
  • В итоге высота SplitCol теперь определяется:
    • флекс-раскладкой (выравнивание колонок по высоте),
    • реальным контентом и ограничениями контейнера,
    • без лишних зависимостей от «магического» 100% у прямого flex-ребенка.

Release notes

Исправления

  • SplitCol: убран block-size: 100% у корневой колонки (.host), чтобы высота колонки корректно рассчитывалась флексбоксом, не ломалась из‑за жесткого 100% и совпадала с соседними колонками при разном контенте, в том числе в конфигурациях с одной колонкой.

@EldarMuhamethanov EldarMuhamethanov added this to the v8.0.0 milestone Feb 27, 2026
@EldarMuhamethanov EldarMuhamethanov self-assigned this Feb 27, 2026
@EldarMuhamethanov EldarMuhamethanov requested a review from a team as a code owner February 27, 2026 10:21
@github-actions github-actions bot added the ci:cherry-pick:patch Автоматизация: PR продублируется в ветку последнего минорного релиза для выпуска патча label Feb 27, 2026
@github-actions
Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size
JS 413.56 KB (0%)
JS (gzip) 126.81 KB (0%)
JS (brotli) 104.45 KB (0%)
JS import Div (tree shaking) 811 B (0%)
CSS 374.49 KB (-0.01% 🔽)
CSS (gzip) 46.42 KB (-0.01% 🔽)
CSS (brotli) 36.72 KB (+0.07% 🔺)

@github-actions
Copy link
Copy Markdown
Contributor

e2e tests

⚠️ Some screenshots were failed. See Playwright Report.

Playwright Report

@github-actions
Copy link
Copy Markdown
Contributor

📊 Найдены изменения в собранных файлах: Отчет

Commit 628960d

@github-actions
Copy link
Copy Markdown
Contributor

👀 Docs deployed

📦 Package ✅

yarn add @vkontakte/vkui@https://development.s3.prodcloud.vk.team/pull/9522/628960de5a4864b7b5e501fbc700386ecdd681f9/pkg/@vkontakte/vkui/_pkg.tgz

Commit 628960d

@codecov
Copy link
Copy Markdown

codecov bot commented Feb 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.77%. Comparing base (ab21c91) to head (628960d).
⚠️ Report is 5 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #9522   +/-   ##
=======================================
  Coverage   94.77%   94.77%           
=======================================
  Files         441      441           
  Lines       11958    11958           
  Branches     4407     4407           
=======================================
  Hits        11333    11333           
  Misses        625      625           
Flag Coverage Δ
unittests 94.77% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@EldarMuhamethanov EldarMuhamethanov removed the ci:cherry-pick:patch Автоматизация: PR продублируется в ветку последнего минорного релиза для выпуска патча label Feb 27, 2026
@EldarMuhamethanov EldarMuhamethanov merged commit e526cec into master Feb 27, 2026
28 of 29 checks passed
@EldarMuhamethanov EldarMuhamethanov deleted the e.muhamethanov/split-col-fix-flex-align branch February 27, 2026 11:12
@github-project-automation github-project-automation bot moved this to ✅ Done in VKUI Feb 27, 2026
@inomdzhon inomdzhon mentioned this pull request Mar 13, 2026
3 tasks
@vkcom-publisher
Copy link
Copy Markdown
Contributor

v8.0.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

3 participants