mirror of
https://github.com/hanzoai/esbuild.git
synced 2026-09-24 16:58:50 +00:00
302 lines
9.5 KiB
HTML
302 lines
9.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf8">
|
|
<link rel="stylesheet" href="out.css">
|
|
<style>
|
|
body {
|
|
margin: 30px;
|
|
font: 16px/20px sans-serif;
|
|
color: black;
|
|
background: white;
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
body {
|
|
color: white;
|
|
background: black;
|
|
}
|
|
}
|
|
|
|
a {
|
|
color: inherit;
|
|
}
|
|
|
|
p {
|
|
margin: 20px 0;
|
|
}
|
|
|
|
pre {
|
|
margin: 20px 0 10px 0;
|
|
font: 14px/20px Monaco, monospace;
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
h2 {
|
|
margin: 50px 0 0 0;
|
|
}
|
|
|
|
.linear {
|
|
max-width: 400px;
|
|
height: 20px;
|
|
text-indent: 4px;
|
|
font-size: 14px;
|
|
color: white;
|
|
text-shadow: 0 0 3px black;
|
|
background: repeating-linear-gradient(-45deg,
|
|
rgba(191, 191, 191, 0.4) 0 7px,
|
|
transparent 7px 14px);
|
|
}
|
|
|
|
section {
|
|
margin-top: 12px;
|
|
display: flex;
|
|
}
|
|
|
|
.radial+.radial {
|
|
margin-right: 12px;
|
|
}
|
|
|
|
.radial,
|
|
.conic {
|
|
width: 97px;
|
|
height: 97px;
|
|
text-align: center;
|
|
line-height: 97px;
|
|
font-size: 14px;
|
|
color: white;
|
|
text-shadow: 0 0 3px black;
|
|
background: repeating-linear-gradient(-45deg,
|
|
transparent 0 6.86px,
|
|
rgba(191, 191, 191, 0.4) 6.86px 13.72px);
|
|
}
|
|
|
|
.checkerboard {
|
|
position: relative;
|
|
}
|
|
|
|
.checkerboard:after {
|
|
content: ' ';
|
|
display: block;
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
z-index: -1;
|
|
background: url('data:image/svg+xml,<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg"><rect width="20" height="20" fill="white"/><path d="M0 10V0H10V10H20V20H10V10H0Z" fill="%23EEEEEE"/></svg>');
|
|
}
|
|
|
|
.linear.red_to_green-native {
|
|
background: linear-gradient(to right, color(display-p3 1 0 0), color(display-p3 0 0.6 0));
|
|
}
|
|
|
|
.radial.red_to_green-native {
|
|
background: radial-gradient(color(display-p3 1 0 0), color(display-p3 0 0.6 0));
|
|
}
|
|
|
|
.conic.red_to_green-native {
|
|
background: conic-gradient(color(display-p3 1 0 0), color(display-p3 0 0.6 0));
|
|
}
|
|
|
|
.linear.rainbow_shorter-native {
|
|
background: linear-gradient(to right in hwb shorter hue, hsl(180deg 100% 75%) 10%, hsl(240deg 100% 75%) 90%);
|
|
}
|
|
|
|
.radial.rainbow_shorter-native {
|
|
background: radial-gradient(in hwb shorter hue, hsl(180deg 100% 75%) 10%, hsl(240deg 100% 75%) 90%);
|
|
}
|
|
|
|
.conic.rainbow_shorter-native {
|
|
background: conic-gradient(in hwb shorter hue, hsl(180deg 100% 75%) 10%, hsl(240deg 100% 75%) 90%);
|
|
}
|
|
|
|
.linear.rainbow_longer-native {
|
|
background: linear-gradient(to right in hsl longer hue, hsl(180deg 100% 75%) 10%, hsl(240deg 100% 75%) 90%);
|
|
}
|
|
|
|
.radial.rainbow_longer-native {
|
|
background: radial-gradient(in hsl longer hue, hsl(180deg 100% 75%) 10%, hsl(240deg 100% 75%) 90%);
|
|
}
|
|
|
|
.conic.rainbow_longer-native {
|
|
background: conic-gradient(in hsl longer hue, hsl(180deg 100% 75%) 10%, hsl(240deg 100% 75%) 90%);
|
|
}
|
|
|
|
.linear.rainbow_increasing-native {
|
|
background: linear-gradient(to right in lch increasing hue, hsl(240deg 100% 75%) 10%, hsl(180deg 100% 75%) 90%);
|
|
}
|
|
|
|
.radial.rainbow_increasing-native {
|
|
background: radial-gradient(in lch increasing hue, hsl(240deg 100% 75%) 10%, hsl(180deg 100% 75%) 90%);
|
|
}
|
|
|
|
.conic.rainbow_increasing-native {
|
|
background: conic-gradient(in lch increasing hue, hsl(240deg 100% 75%) 10%, hsl(180deg 100% 75%) 90%);
|
|
}
|
|
|
|
.linear.rainbow_decreasing-native {
|
|
background: linear-gradient(to right in oklch decreasing hue, hsl(180deg 100% 75%) 10%, hsl(240deg 100% 75%) 90%);
|
|
}
|
|
|
|
.radial.rainbow_decreasing-native {
|
|
background: radial-gradient(in oklch decreasing hue, hsl(180deg 100% 75%) 10%, hsl(240deg 100% 75%) 90%);
|
|
}
|
|
|
|
.conic.rainbow_decreasing-native {
|
|
background: conic-gradient(in oklch decreasing hue, hsl(180deg 100% 75%) 10%, hsl(240deg 100% 75%) 90%);
|
|
}
|
|
|
|
.linear.midpoint_hint-native {
|
|
background: linear-gradient(to right, #f00, #ff0, 75%, #0ff, #00f);
|
|
}
|
|
|
|
.radial.midpoint_hint-native {
|
|
background: radial-gradient(#f00, #ff0, 75%, #0ff, #00f);
|
|
}
|
|
|
|
.conic.midpoint_hint-native {
|
|
background: conic-gradient(#f00, #ff0, 75%, #0ff, #00f);
|
|
}
|
|
|
|
.linear.premultiplied_alpha-native {
|
|
background: linear-gradient(to right, #f00f, 10%, #00f1, 90%, #0f0f);
|
|
}
|
|
|
|
.radial.premultiplied_alpha-native {
|
|
background: radial-gradient(#f00f, 10%, #00f1, 90%, #0f0f);
|
|
}
|
|
|
|
.conic.premultiplied_alpha-native {
|
|
background: conic-gradient(#f00f, 10%, #00f1, 90%, #0f0f);
|
|
}
|
|
|
|
.linear.mixed_units-native {
|
|
background: linear-gradient(to right, color(display-p3 0.4 0 1) 30px, color(display-p3 1 0.75 0.4) 60%);
|
|
}
|
|
|
|
.radial.mixed_units-native {
|
|
background: radial-gradient(color(display-p3 0.4 0 1) 30px, color(display-p3 1 0.75 0.4) 60%);
|
|
}
|
|
|
|
.conic.mixed_units-native {
|
|
background: conic-gradient(color(display-p3 0.4 0 1) 30deg, color(display-p3 1 0.75 0.4) 60%);
|
|
}
|
|
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<p>This page is a visual test of esbuild's CSS gradient transformation. Run it like this:</p>
|
|
<pre>./esbuild --servedir=scripts --outfile=scripts/out.css scripts/gradient-tests.css --target=firefox30</pre>
|
|
<p>Then open this page as <a
|
|
href="http://localhost:8000/gradient-tests.html">http://localhost:8000/gradient-tests.html</a>.</p>
|
|
|
|
<h2>1. Red to green in P3</h2>
|
|
<pre>gradient(
|
|
color(display-p3 1 0 0),
|
|
color(display-p3 0 0.6 0))</pre>
|
|
<div class="linear red_to_green-native">native</div>
|
|
<div class="linear red_to_green-esbuild">esbuild</div>
|
|
<section>
|
|
<div class="radial red_to_green-native">native</div>
|
|
<div class="radial red_to_green-esbuild">esbuild</div>
|
|
<div class="conic red_to_green-native">native</div>
|
|
<div class="conic red_to_green-esbuild">esbuild</div>
|
|
</section>
|
|
|
|
<h2>2. Rainbow using shorter hue</h2>
|
|
<pre>gradient(
|
|
in hwb shorter hue,
|
|
hsl(180deg 100% 75%) 10%,
|
|
hsl(240deg 100% 75%) 90%)</pre>
|
|
<div class="linear rainbow_shorter-native">native</div>
|
|
<div class="linear rainbow_shorter-esbuild">esbuild</div>
|
|
<section>
|
|
<div class="radial rainbow_shorter-native">native</div>
|
|
<div class="radial rainbow_shorter-esbuild">esbuild</div>
|
|
<div class="conic rainbow_shorter-native">native</div>
|
|
<div class="conic rainbow_shorter-esbuild">esbuild</div>
|
|
</section>
|
|
|
|
<h2>3. Rainbow using longer hue</h2>
|
|
<pre>gradient(
|
|
in hsl longer hue,
|
|
hsl(180deg 100% 75%) 10%,
|
|
hsl(240deg 100% 75%) 90%)</pre>
|
|
<div class="linear rainbow_longer-native">native</div>
|
|
<div class="linear rainbow_longer-esbuild">esbuild</div>
|
|
<section>
|
|
<div class="radial rainbow_longer-native">native</div>
|
|
<div class="radial rainbow_longer-esbuild">esbuild</div>
|
|
<div class="conic rainbow_longer-native">native</div>
|
|
<div class="conic rainbow_longer-esbuild">esbuild</div>
|
|
</section>
|
|
|
|
<h2>4. Rainbow using increasing hue</h2>
|
|
<pre>gradient(
|
|
in lch increasing hue,
|
|
hsl(240deg 100% 75%) 10%,
|
|
hsl(180deg 100% 75%) 90%)</pre>
|
|
<div class="linear rainbow_increasing-native">native</div>
|
|
<div class="linear rainbow_increasing-esbuild">esbuild</div>
|
|
<section>
|
|
<div class="radial rainbow_increasing-native">native</div>
|
|
<div class="radial rainbow_increasing-esbuild">esbuild</div>
|
|
<div class="conic rainbow_increasing-native">native</div>
|
|
<div class="conic rainbow_increasing-esbuild">esbuild</div>
|
|
</section>
|
|
|
|
<h2>5. Rainbow using decreasing hue</h2>
|
|
<pre>gradient(
|
|
in oklch decreasing hue,
|
|
hsl(180deg 100% 75%) 10%,
|
|
hsl(240deg 100% 75%) 90%)</pre>
|
|
<div class="linear rainbow_decreasing-native">native</div>
|
|
<div class="linear rainbow_decreasing-esbuild">esbuild</div>
|
|
<section>
|
|
<div class="radial rainbow_decreasing-native">native</div>
|
|
<div class="radial rainbow_decreasing-esbuild">esbuild</div>
|
|
<div class="conic rainbow_decreasing-native">native</div>
|
|
<div class="conic rainbow_decreasing-esbuild">esbuild</div>
|
|
</section>
|
|
|
|
<h2>6. Transition hint / midpoint</h2>
|
|
<pre>gradient(#f00, #ff0, 75%, #0ff, #00f)</pre>
|
|
<div class="linear midpoint_hint-native">native</div>
|
|
<div class="linear midpoint_hint-esbuild">esbuild</div>
|
|
<section>
|
|
<div class="radial midpoint_hint-native">native</div>
|
|
<div class="radial midpoint_hint-esbuild">esbuild</div>
|
|
<div class="conic midpoint_hint-native">native</div>
|
|
<div class="conic midpoint_hint-esbuild">esbuild</div>
|
|
</section>
|
|
|
|
<h2>7. Premultiplied alpha</h2>
|
|
<pre>gradient(#f00f, 10%, #00f1, 90%, #0f0f)</pre>
|
|
<div class="checkerboard linear premultiplied_alpha-native">native</div>
|
|
<div class="checkerboard linear premultiplied_alpha-esbuild">esbuild</div>
|
|
<section>
|
|
<div class="checkerboard radial premultiplied_alpha-native">native</div>
|
|
<div class="checkerboard radial premultiplied_alpha-esbuild">esbuild</div>
|
|
<div class="checkerboard conic premultiplied_alpha-native">native</div>
|
|
<div class="checkerboard conic premultiplied_alpha-esbuild">esbuild</div>
|
|
</section>
|
|
|
|
<h2>8. Mixed units</h2>
|
|
<pre>gradient(
|
|
color(display-p3 0.4 0 1) 30px,
|
|
color(display-p3 1 0.75 0.4) 60%)</pre>
|
|
<div class="linear mixed_units-native">native</div>
|
|
<div class="linear mixed_units-esbuild">esbuild</div>
|
|
<section>
|
|
<div class="radial mixed_units-native">native</div>
|
|
<div class="radial mixed_units-esbuild">esbuild</div>
|
|
<div class="conic mixed_units-native">native</div>
|
|
<div class="conic mixed_units-esbuild">esbuild</div>
|
|
</section>
|
|
</body>
|
|
|
|
</html>
|