test.html 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. /* Page is expected to be exactly 800x600 */
  6. html, body {
  7. width: 800px;
  8. height: 600px;
  9. margin: 0;
  10. overflow: hidden;
  11. display: flex;
  12. flex-flow: column nowrap;
  13. justify-content: space-around;
  14. align-items: stretch;
  15. }
  16. .row {
  17. display: flex;
  18. flex-flow: row nowrap;
  19. justify-content: space-around;
  20. align-items: center;
  21. }
  22. .row.rounding-0 > .box {
  23. -electron-corner-smoothing: 0%;
  24. }
  25. .row.rounding-30 > .box {
  26. -electron-corner-smoothing: 30%;
  27. }
  28. .row.rounding-60 > .box {
  29. -electron-corner-smoothing: 60%;
  30. }
  31. .row.rounding-100 > .box {
  32. -electron-corner-smoothing: 100%;
  33. }
  34. .row.rounding-invalid > .box {
  35. -electron-corner-smoothing: 200%;
  36. }
  37. .row.rounding-invalid > .box:nth-child(2) {
  38. -electron-corner-smoothing: -10%;
  39. }
  40. .row.rounding-invalid > .box:nth-child(3) {
  41. -electron-corner-smoothing: -200%;
  42. }
  43. .box {
  44. --boxes-x: 7;
  45. --boxes-y: 5;
  46. --box-shadow-offset: 4px;
  47. --box-shadow-spread: 2px;
  48. --box-shadow-grow: 2px;
  49. --box-gap: calc(var(--box-shadow-offset) + var(--box-shadow-spread) + var(--box-shadow-grow) + 4px);
  50. --box-size: min(calc(((100vw - var(--box-gap)) / var(--boxes-x)) - var(--box-gap)), calc(((100vh - var(--box-gap)) / var(--boxes-y)) - var(--box-gap)));
  51. width: var(--box-size);
  52. height: var(--box-size);
  53. border-radius: calc((var(--box-size) / 4) - 4px);
  54. box-sizing: border-box;
  55. background-color: black;
  56. }
  57. .box.outline {
  58. background-color: bisque;
  59. border: 8px solid black;
  60. }
  61. .box.outline.dashed {
  62. background-color: darkkhaki;
  63. border-style: dashed;
  64. }
  65. .box.outline.double {
  66. background-color: darkseagreen;
  67. border-style: double;
  68. }
  69. .box.outer {
  70. overflow: clip;
  71. }
  72. .box.outer > .inner {
  73. width: 100%;
  74. height: 100%;
  75. background-color: blueviolet;
  76. }
  77. .box.shadow {
  78. background-color: skyblue;
  79. box-shadow: var(--box-shadow-offset) var(--box-shadow-offset) var(--box-shadow-spread) var(--box-shadow-grow) cornflowerblue;
  80. }
  81. </style>
  82. </head>
  83. <body>
  84. <div class="row rounding-0">
  85. <div class="box"></div>
  86. <img class="box" src="image.png" />
  87. <div class="box outline"></div>
  88. <div class="box outline dashed"></div>
  89. <div class="box outline double"></div>
  90. <div class="box outer"><div class="inner"></div></div>
  91. <div class="box shadow"></div>
  92. </div>
  93. <div class="row rounding-30">
  94. <div class="box"></div>
  95. <img class="box" src="image.png" />
  96. <div class="box outline"></div>
  97. <div class="box outline dashed"></div>
  98. <div class="box outline double"></div>
  99. <div class="box outer"><div class="inner"></div></div>
  100. <div class="box shadow"></div>
  101. </div>
  102. <div class="row rounding-60">
  103. <div class="box"></div>
  104. <img class="box" src="image.png" />
  105. <div class="box outline"></div>
  106. <div class="box outline dashed"></div>
  107. <div class="box outline double"></div>
  108. <div class="box outer"><div class="inner"></div></div>
  109. <div class="box shadow"></div>
  110. </div>
  111. <div class="row rounding-100">
  112. <div class="box"></div>
  113. <img class="box" src="image.png" />
  114. <div class="box outline"></div>
  115. <div class="box outline dashed"></div>
  116. <div class="box outline double"></div>
  117. <div class="box outer"><div class="inner"></div></div>
  118. <div class="box shadow"></div>
  119. </div>
  120. <div class="row rounding-invalid">
  121. <div class="box"></div>
  122. <img class="box" src="image.png" />
  123. <div class="box outline"></div>
  124. <div class="box outline dashed"></div>
  125. <div class="box outline double"></div>
  126. <div class="box outer"><div class="inner"></div></div>
  127. <div class="box shadow"></div>
  128. </div>
  129. </body>
  130. </html>