CanvasRenderingContext2D: textAlign-Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die CanvasRenderingContext2D.textAlign
-Eigenschaft der Canvas 2D API gibt die aktuelle Textausrichtung an, die beim Zeichnen von Text verwendet wird.
Die Ausrichtung ist relativ zum x
-Wert der fillText()
-Methode. Zum Beispiel, wenn textAlign
auf "center"
gesetzt ist, wird die linke Kante des Textes bei x - (textWidth / 2)
sein.
Wert
Mögliche Werte:
"left"
-
Der Text ist linksbündig.
"right"
-
Der Text ist rechtsbündig.
"center"
-
Der Text ist zentriert.
"start"
-
Der Text ist am normalen Anfang der Zeile ausgerichtet (links für links-nach-rechts-Sprachen, rechts für rechts-nach-links-Sprachen).
"end"
-
Der Text ist am normalen Ende der Zeile ausgerichtet (rechts für links-nach-rechts-Sprachen, links für rechts-nach-links-Sprachen).
Der Standardwert ist "start"
.
Beispiele
Allgemeine Textausrichtung
Dieses Beispiel demonstriert die drei "physischen" Werte der textAlign
-Eigenschaft: "left"
, "center"
und "right"
.
HTML
<canvas id="canvas"></canvas>
JavaScript
const canvas = document.getElementById("canvas");
canvas.width = 350;
const ctx = canvas.getContext("2d");
const x = canvas.width / 2;
ctx.beginPath();
ctx.moveTo(x, 0);
ctx.lineTo(x, canvas.height);
ctx.stroke();
ctx.font = "30px serif";
ctx.textAlign = "left";
ctx.fillText("left-aligned", x, 40);
ctx.textAlign = "center";
ctx.fillText("center-aligned", x, 85);
ctx.textAlign = "right";
ctx.fillText("right-aligned", x, 130);
Ergebnis
Richtungsabhängige Textausrichtung
Dieses Beispiel demonstriert die zwei richtungsabhängigen Werte der textAlign
-Eigenschaft: "start"
und "end"
. Beachten Sie, dass die direction
-Eigenschaft manuell auf "ltr"
gesetzt ist, obwohl dies auch der Standard für englischsprachige Texte ist.
HTML
<canvas id="canvas"></canvas>
JavaScript
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
ctx.font = "30px serif";
ctx.direction = "ltr";
ctx.textAlign = "start";
ctx.fillText("Start-aligned", 0, 50);
ctx.textAlign = "end";
ctx.fillText("End-aligned", canvas.width, 120);
Ergebnis
Spezifikationen
Specification |
---|
HTML Standard # dom-context-2d-textalign-dev |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Das Interface, das diese Eigenschaft definiert:
CanvasRenderingContext2D