stylesheet.css 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. body {
  2. font-family: Arial;
  3. margin: 0;
  4. }
  5. /* page layout */
  6. .wrapper {
  7. display: grid;
  8. grid-template-areas:
  9. "header header"
  10. "tree settings"
  11. "tree graphs";
  12. grid-template-columns: 400px auto;
  13. grid-template-rows: auto 50px auto;
  14. width: 100%;
  15. grid-gap: 30px;
  16. }
  17. .main-head {
  18. grid-area: header;
  19. padding: 60px;
  20. text-align: center;
  21. background: #1abc9c;
  22. color: white;
  23. font-size: 48pt;
  24. }
  25. #tree {
  26. grid-area: tree;
  27. margin-left: 10px;
  28. }
  29. #settings {
  30. grid-area: settings;
  31. margin-right: 10px;
  32. }
  33. /* texts and spacers */
  34. #tree li.spacer {
  35. padding-top: 20px;
  36. }
  37. #tree .channel.header {
  38. font-weight: bold;
  39. }
  40. /* counts and checkboxes */
  41. #tree, #tree li {
  42. display: grid;
  43. grid-template-columns: auto 20px 20px;
  44. align-content: start;
  45. }
  46. #tree .name {
  47. grid-row: 1/2;
  48. grid-column: 1/2;
  49. }
  50. #tree .count {
  51. grid-row: 1/2;
  52. grid-column: 2/3;
  53. justify-self: end;
  54. width: 100%;
  55. }
  56. #tree .checkbox {
  57. grid-row: 1/2;
  58. grid-column: 3/4;
  59. }
  60. #tree ul {
  61. grid-row: 2/3;
  62. grid-column: 1/4;
  63. }
  64. /*tree borders */
  65. #tree ul {
  66. list-style-type: none;
  67. margin: 0;
  68. padding: 0;
  69. position: relative;
  70. }
  71. #tree li {
  72. border-left: 2px solid #000;
  73. margin-left: 1em;
  74. }
  75. #tree .name {
  76. padding-left: 1em;
  77. position: relative;
  78. }
  79. #tree li .name::before {
  80. content:'';
  81. position: absolute;
  82. top: 0;
  83. left: -2px;
  84. bottom: 50%;
  85. width: 100%;
  86. border: 2px solid #000;
  87. border-top: 0 none transparent;
  88. border-right: 0 none transparent;
  89. z-index: -10;
  90. }
  91. #tree .channel {
  92. position: relative;
  93. background-color: white;
  94. font-weight: bold;
  95. }
  96. #tree .channel:first-child {
  97. margin-left: 5px;
  98. }
  99. #tree .channel.normal {
  100. font-weight: normal;
  101. }
  102. #tree .channel > span{
  103. background-color: white;
  104. padding: 0 5px;
  105. }
  106. #tree .channel.center {
  107. background-color: transparent;
  108. text-align: center;
  109. }
  110. #tree .channel.center > span::before {
  111. content: '';
  112. position: absolute;
  113. height: 19px;
  114. left: 50%;
  115. right: 0;
  116. background-color: white;
  117. z-index: -1;
  118. }
  119. #tree .channel.right {
  120. background-color: transparent;
  121. text-align: right;
  122. }
  123. #tree ul > li:first-child::before {
  124. content: '';
  125. position: absolute;
  126. top: calc(-0.5em - 3px);
  127. height: 19px;
  128. left: 1em;
  129. border-left: 2px solid #000;
  130. }
  131. #tree ul > li:last-child {
  132. border-left: 2px solid transparent;
  133. }
  134. /* graphs */
  135. #graphs {
  136. grid-area: graphs;
  137. display: flex;
  138. flex-wrap: wrap;
  139. align-content: flex-start;
  140. align-items: stretch;
  141. margin-right: 10px;
  142. }
  143. .demo-container {
  144. box-sizing: border-box;
  145. min-width: 850px;
  146. min-height: 400px;
  147. max-width: 100vw;
  148. max-height: 100vh;
  149. padding: 20px 15px 15px 15px;
  150. margin: 15px auto 30px auto;
  151. border: 1px solid #ddd;
  152. background: #fff;
  153. background: linear-gradient(#f6f6f6 0, #fff 50px);
  154. box-shadow: 0 3px 10px rgba(0,0,0,0.15);
  155. user-select: none;
  156. flex-grow: 1;
  157. }
  158. .demo-placeholder {
  159. width: 100%;
  160. height: 100%;
  161. font-size: 14px;
  162. }