CanvasRenderingContext2D .lineDashOffset property of the Canvas 2D API sets the line dash offset, or "phase."

注意: Lines are drawn by calling the stroke() 方法。

句法

ctx.lineDashOffset = value;
					
value
A float specifying the amount of the line dash offset. The default value is 0.0 .

范例

Offsetting a line dash

This example draws two dashed lines. The first has no dash offset. The second has a dash offset of 4.

HTML

<canvas id="canvas"></canvas>
					

JavaScript

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
ctx.setLineDash([4, 16]);
// Dashed line with no offset
ctx.beginPath();
ctx.moveTo(0, 50);
ctx.lineTo(300, 50);
ctx.stroke();
// Dashed line with offset of 4
ctx.beginPath();
ctx.strokeStyle = 'red';
ctx.lineDashOffset = 4;
ctx.moveTo(0, 100);
ctx.lineTo(300, 100);
ctx.stroke();
					

结果

The line with a dash offset is drawn in red.

Marching ants

marching ants effect is an animation technique often found in selection tools of computer graphics programs. It helps the user to distinguish the selection border from the image background by animating the border.

HTML
<canvas id="canvas"></canvas>
					
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
let offset = 0;
function draw() {
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  ctx.setLineDash([4, 2]);
  ctx.lineDashOffset = -offset;
  ctx.strokeRect(10, 10, 100, 100);
}
function march() {
  offset++;
  if (offset > 16) {
    offset = 0;
  }
  draw();
  setTimeout(march, 20);
}
march();
					

规范

规范 状态 注释
HTML 实时标准
The definition of 'CanvasRenderingContext2D.lineDashOffset' in that specification.
实时标准

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
桌面 移动
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
lineDashOffset Chrome Yes Edge 12 Firefox 27
27
7 Alternate Name
Alternate Name Uses the non-standard name: mozDashOffset
IE 11 Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android 27
27
7 Alternate Name
Alternate Name Uses the non-standard name: mozDashOffset
Opera Android Yes Safari iOS Yes Samsung Internet Android Yes

图例

完整支持

完整支持

使用非标名称。

另请参阅

元数据

  • 最后修改: