Signatur
Beschreibung
Die Eigenschaft align der Schnittstelle VTTCue legt fest, wie die Textzeilen eines Untertitels bzw. einer Beschriftung innerhalb ihres Kastens ausgerichtet werden. Sie entspricht der WebVTT-Einstellung align: in einer .vtt-Datei, z. B. 00:00:01.000 --> 00:00:04.000 align:start.
Der Wert ist eine Zeichenkette vom Typ AlignSetting. Erlaubt sind:
"start": Ausrichtung am Zeilenanfang, abhängig von der Schreibrichtung (bei Links-nach-rechts-Text also links, bei Arabisch oder Hebräisch rechts)."center": zentriert (Standardwert)."end": Ausrichtung am Zeilenende, ebenfalls abhängig von der Schreibrichtung."left": immer links, unabhängig von der Schreibrichtung."right": immer rechts, unabhängig von der Schreibrichtung.
Die Eigenschaft ist lesend und schreibend. Du kannst sie zum Beispiel nutzen, wenn du Untertitel per JavaScript erzeugst (new VTTCue() plus TextTrack.addCue()) oder wenn du die Ausrichtung vorhandener Untertitel zur Laufzeit änderst, etwa für eine Einstellung wie „Untertitel linksbündig“. align betrifft nur die Ausrichtung des Textes innerhalb des Kastens. Wo der Kasten selbst sitzt, bestimmen position, positionAlign, line und size.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $value | "start" | "center" | "end" | "left" | "right" | "center" | Neuer Ausrichtungswert beim Setzen. Ungültige Werte werden ohne Fehler ignoriert. |
Rückgabewert
AlignSetting-Zeichenkette: "start", "center", "end", "left" oder "right".Beispiele
Untertitel per JavaScript erzeugen und linksbündig ausrichten
const video = document.querySelector('video');
const track = video.addTextTrack('subtitles', 'Deutsch', 'de');
track.mode = 'showing';
const cue = new VTTCue(1, 4, 'Hallo und willkommen!\nHeute geht es um WebVTT.');
console.log(cue.align); // Standardwert
cue.align = 'start';
track.addCue(cue);
console.log(cue.align);
Ausrichtung aller Untertitel per Benutzereinstellung umschalten
const video = document.querySelector('video');
const select = document.querySelector('#caption-align'); // <select> mit start/center/end
const applyAlign = (value) => {
for (const track of video.textTracks) {
if (!track.cues) continue; // cues ist null, solange mode === 'disabled'
for (const cue of track.cues) {
if (cue instanceof VTTCue) cue.align = value;
}
}
};
select.addEventListener('change', (e) => applyAlign(e.target.value));
Ungültige Werte werden stillschweigend ignoriert
const cue = new VTTCue(0, 2, 'Test');
cue.align = 'right';
cue.align = 'middle'; // veralteter Wert, heute ungültig
cue.align = 'links'; // ungültig
console.log(cue.align);
Ausrichtung aus einer .vtt-Datei auslesen
// untertitel.vtt:
// WEBVTT
//
// 00:00:01.000 --> 00:00:04.000 align:end
// Rechtsbündiger Text
const trackEl = document.querySelector('track');
trackEl.track.mode = 'hidden';
trackEl.addEventListener('load', () => {
const [first] = trackEl.track.cues;
console.log(first.align);
});
// Wichtig · Fallstricke
- Kein Fehler bei ungültigen Werten: Setzt du einen Wert außerhalb von
AlignSetting, wird die Zuweisung ohne Fehlermeldung ignoriert, und der alte Wert bleibt erhalten. Tippfehler fallen dadurch leicht nicht auf. - Veralteter Wert
"middle": Ältere Entwürfe der Spezifikation und alte Browser-Versionen nutzten"middle"statt"center". Heute gilt nur noch"center". start/endvs.left/right:startundendrichten sich nach der Schreibrichtung des Textes. Für mehrsprachige Untertitel sind sie meist die bessere Wahl als die festen Werteleftundright.- Zusammenspiel mit anderen Eigenschaften: Wenn
positionAlignauf"auto"steht, leitet der Browser die Ausrichtung des Kastens ausalignab. Das kann die Position des Untertitels verschieben. cueskannnullsein: SolangeTextTrack.modeauf"disabled"steht, isttrack.cuesnull. Setze den Modus vorher auf"hidden"oder"showing".- Browser-Unterstützung: Die Eigenschaft wird von allen aktuellen Browsern unterstützt. Wie genau die Untertitel dargestellt werden, unterscheidet sich aber je nach Browser. Nutzereinstellungen für Untertitel auf Betriebssystemebene können die Darstellung zusätzlich überschreiben.