page_columns.css 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. /*--- 2 columns ---*/
  2. .bx-std-pc-stretch {
  3. position: relative;
  4. display: -webkit-flex;
  5. display: flex;
  6. -webkit-align-items: stretch;
  7. align-items: stretch;
  8. box-sizing: border-box;
  9. }
  10. .bx-std-pc-vstretch {
  11. width: 100%
  12. }
  13. div.bx-std-page-columns-cnt {
  14. position: relative;
  15. display: flex;
  16. align-items: stretch;
  17. padding: 5.5rem 0.75rem 0.75rem 0.75rem; /* top: the header wrapper's height, so the content starts 12px under the bar; 12px sides and bottom, like the header's margins */
  18. }
  19. /*--- Page Menu ---*/
  20. .bx-std-page-column.bx-std-page-menu {
  21. position: relative;
  22. -webkit-flex: 0 0 20rem;
  23. flex: 0 0 20rem;
  24. border-radius: 1.5rem; /* 24px, like the blocks and the header bar */
  25. width: 20rem;
  26. height: 100%;
  27. backdrop-filter: blur(40px);
  28. overflow-y: auto;
  29. }
  30. .bx-std-page-column.bx-std-page-menu::-webkit-scrollbar {
  31. display: none;
  32. }
  33. .bx-std-page-column.bx-std-page-menu div.bx-std-page-column-cnt {
  34. position: -webkit-sticky;
  35. position: sticky;
  36. top: 0;
  37. }
  38. /*--- Page Content ---*/
  39. .bx-std-page-column.bx-std-page-content {
  40. position: relative;
  41. display: flex;
  42. flex-direction: column;
  43. -webkit-flex-grow: 2;
  44. flex-grow: 2;
  45. min-width: 0;
  46. height: 100%;
  47. overflow-x: hidden;
  48. overflow-y: auto;
  49. }
  50. .bx-std-page-column.bx-std-page-content::-webkit-scrollbar {
  51. display: none;
  52. }
  53. .bx-std-page-column.bx-std-page-content div.bx-std-page-column-cnt {
  54. flex: 1 1 auto;
  55. /* min-height: 0; */
  56. width: 100%;
  57. padding: 1px 0 1px 0.75rem; /* 12px from the sidebar column; 1px of room for the blocks' hairline ring inside the scroll box */
  58. }
  59. /*
  60. * A page with a single block: the block takes the remaining height, its caption and bottom panel stay put
  61. * and only its content scrolls. The column itself no longer clips the block's ring and shadow.
  62. */
  63. .bx-std-page-column.bx-std-page-content:has(> .bx-std-page-column-cnt > div.bx-std-block:only-of-type) {
  64. overflow: visible;
  65. }
  66. .bx-std-page-column.bx-std-page-content div.bx-std-page-column-cnt > div.bx-std-block:only-of-type {
  67. flex: 1 1 auto;
  68. min-height: 0;
  69. }
  70. /* Nothing scrolls around a single block, so it doesn't need the 1px ring room: its top and bottom line up with the sidebar. */
  71. .bx-std-page-column.bx-std-page-content:has(> .bx-std-page-column-cnt > div.bx-std-block:only-of-type) div.bx-std-page-column-cnt {
  72. padding-top: 0;
  73. padding-bottom: 0;
  74. }
  75. /*
  76. * Narrow screens. Below 1024px the sidebar collapses to a strip of icon tiles with small labels under them;
  77. * below 768px it becomes a horizontal row of tabs above the content. Item styles are in general.css.
  78. */
  79. @media (max-width: 1023px) {
  80. .bx-std-page-column.bx-std-page-menu {
  81. -webkit-flex: 0 0 6.5rem;
  82. flex: 0 0 6.5rem;
  83. width: 6.5rem; /* 88px items (80px of label room, enough for a semibold "Notifications") + the column's 8px inset */
  84. }
  85. }
  86. @media (max-width: 767px) {
  87. div.bx-std-page-columns-cnt {
  88. -webkit-flex-direction: column;
  89. flex-direction: column;
  90. }
  91. .bx-std-page-column.bx-std-page-menu {
  92. -webkit-flex: 0 0 auto;
  93. flex: 0 0 auto;
  94. width: auto;
  95. height: auto;
  96. margin-bottom: 0.75rem; /* the same 12px gap as between the columns on wider screens */
  97. overflow-x: auto;
  98. overflow-y: hidden;
  99. -webkit-overflow-scrolling: touch;
  100. }
  101. .bx-std-page-column.bx-std-page-menu div.bx-std-page-column-cnt {
  102. position: static;
  103. }
  104. .bx-std-page-column.bx-std-page-content {
  105. -webkit-flex: 1 1 auto;
  106. flex: 1 1 auto;
  107. min-height: 0;
  108. height: auto;
  109. }
  110. .bx-std-page-column.bx-std-page-content div.bx-std-page-column-cnt {
  111. padding-left: 0;
  112. padding-right: 0;
  113. }
  114. }