<!DOCTYPE html>
<meta charset="utf-8" />
<title>CSS Reftest Reference</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<style>
:root {
  overflow: hidden;
}
.horizontal, .vertical {
  position: absolute;
  top: 0;
  left: 0;
}
.vertical {
  writing-mode: vertical-lr;
}
.test {
  transform-origin: 0 0;
  line-height: 20px;
  block-size: 20px;
  inline-size: max-content;
  border: 5px solid;
  border-color: blue orange;
  margin-inline-start: calc(30px * var(--index));
}
.horizontal > .test {
  transform: scale3d(var(--scale), 1, 1);
}
.vertical > .test {
  transform: scale3d(1, var(--scale), 1);
}
</style>
<body>
<script>
"use strict";
const horizontal = document.createElement("div");
horizontal.className = "horizontal";
const vertical = document.createElement("div");
vertical.className = "vertical";
document.body.append(horizontal, vertical);
const scales = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 17, 20, 25, 30].reverse();
for (let i = 0; i < scales.length; ++i) {
  const scale = scales[i];
  const htest = document.createElement("div");
  htest.className = "test";
  htest.textContent = "Lorem";
  htest.style.cssText = `--scale: ${scale}; --index: ${i+1}`;
  horizontal.appendChild(htest);
  const vtest = htest.cloneNode();
  vtest.textContent = "Ipsum";
  vertical.appendChild(vtest);
}
</script>
</body>
