files/en-us/web/api/canvasrenderingcontext2d/shadowoffsety/index.md
{{APIRef("Canvas API")}}
The
CanvasRenderingContext2D.shadowOffsetY
property of the Canvas 2D API specifies the distance that shadows will be offset
vertically.
[!NOTE] Shadows are only drawn if the {{domxref("CanvasRenderingContext2D.shadowColor", "shadowColor")}} property is set to a non-transparent value. One of the {{domxref("CanvasRenderingContext2D.shadowBlur", "shadowBlur")}}, {{domxref("CanvasRenderingContext2D.shadowOffsetX", "shadowOffsetX")}}, or
shadowOffsetYproperties must be non-zero, as well.
A float specifying the distance that shadows will be offset vertically. Positive values are down, and negative are up. The default value is 0 (no vertical offset). {{jsxref("Infinity")}} and {{jsxref("NaN")}} values are ignored.
This example adds a blurred shadow to a rectangle. The
{{domxref("CanvasRenderingContext2D.shadowColor", "shadowColor")}} property sets its
color, shadowOffsetY sets its offset 25 units towards the bottom, and
{{domxref("CanvasRenderingContext2D.shadowBlur", "shadowBlur")}} gives it a blur level
of 10.
<canvas id="canvas"></canvas>
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
// Shadow
ctx.shadowColor = "red";
ctx.shadowOffsetY = 25;
ctx.shadowBlur = 10;
// Rectangle
ctx.fillStyle = "blue";
ctx.fillRect(20, 20, 150, 80);
{{ EmbedLiveSample('Moving_a_shadow_vertically', 700, 180) }}
{{Specifications}}
{{Compat}}