diff --git a/app/assets/stylesheets/pages/boards.scss b/app/assets/stylesheets/pages/boards.scss
index b2416a3d5bc2462bb5782423afc8bdac44a34850..7c1d1626f1cb2308bad85f0366b38b93d4b5c642 100644
--- a/app/assets/stylesheets/pages/boards.scss
+++ b/app/assets/stylesheets/pages/boards.scss
@@ -80,6 +80,7 @@
   overflow-x: scroll;
   white-space: nowrap;
   min-height: 200px;
+  display: flex;
 
   @include media-breakpoint-only(sm) {
     height: calc(100vh - #{$issue-board-list-difference-sm});
@@ -110,17 +111,15 @@
 
 .board {
   display: inline-block;
-  width: calc(85vw - 15px);
+  flex: 1;
+  min-width: 300px;
+  max-width: 400px;
   height: 100%;
   padding-right: ($gl-padding / 2);
   padding-left: ($gl-padding / 2);
   white-space: normal;
   vertical-align: top;
 
-  @include media-breakpoint-up(sm) {
-    width: 400px;
-  }
-
   &.is-expandable {
     .board-header {
       cursor: pointer;
@@ -128,6 +127,8 @@
   }
 
   &.is-collapsed {
+    flex: none;
+    min-width: 0;
     width: 50px;
 
     .board-header {
diff --git a/changelogs/unreleased/rosulk-patch-12.yml b/changelogs/unreleased/rosulk-patch-12.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9637c88d1a4e74e6becd1f2db84adcea10a22268
--- /dev/null
+++ b/changelogs/unreleased/rosulk-patch-12.yml
@@ -0,0 +1,5 @@
+---
+title: Flex issue board columns
+merge_request: 19250
+author: Roman Rosluk
+type: changed