Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

270
Vistas
Dar estilo a las señales VTT - El selector ::cue(#id) no funciona

Estoy tratando de diseñar señales VTT agregadas dinámicamente tratando de apuntar a la identificación de la señal:

 track = video.addTextTrack('captions', 'Captions', 'en'); track.mode = 'showing'; const cue = new VTTCue(0, 10, "Hello world"); cue.id = 'test'; track.addCue(cue); console.log("ID:", track.cues[0].id)
 /* This selector does not work */ ::cue(#test) { color: red; } /* The generic selector works */ ::cue { background-color: orange; }
 <video id="video" muted autoplay controls width="400px"> <source type="video/mp4" src="https://upload.wikimedia.org/wikipedia/commons/4/46/Panorama_of_the_valley_from_Leh_Palace.webm"> </source> </video>

Simplifiqué extremadamente el ejemplo, pero muestra el problema. No estoy seguro de lo que estoy haciendo mal, traté de seguir las especificaciones de W3C: https://w3c.github.io/webvtt/#introduction-other-features

En este ejemplo, las señales tienen un identificador:

WEBVTT

prueba

00:00.000 --> 00:02.000 Esto es una prueba.

123 00:00.000 --> 00:02.000 ¡Eso es un, un, eso es una L!

crédito de transcripción 00:04.000 --> 00:05.000 Transcrit par Célestes™ Esto permite que una hoja de estilo apunte específicamente a las pistas.

/* estilo para cue: test */ ::cue(#test) { color: lime; } Debido a las reglas de sintaxis de CSS, algunos caracteres deben escaparse con secuencias de escape de caracteres CSS. Por ejemplo, una identificación que comienza con un número 0-9 debe escaparse. El ID 123 se puede representar como "\31 23" (31 se refiere al punto de código Unicode para "1"). Consulte Uso de escapes de caracteres en marcado y CSS para obtener más información sobre los escapes de CSS.

/* estilo para cue: 123 / ::cue(#\31 23) { color: lime; } / estilo para cue: crédito de transcripción */ ::cue(#crédit\ de\ transcription) { color: red; }

No sé si los selectores de identificación funcionan solo con archivos .vtt y no con señales generadas a través de JS. Todavía no hay mucha información sobre VTT, ya que todavía es una tecnología de trabajo en progreso, probé diferentes enfoques, incluso usando vtt.js para analizar una cadena de VTT que contiene un estilo en línea ::cue , pero eso tampoco funciona.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Podría usar un objeto de clase dentro del texto VTT.

Pero requiere modificar el atributo de texto para cada objeto VTT.

Entonces se aplicará su regla css.

 track = video.addTextTrack('captions', 'Captions', 'en'); track.mode = 'showing'; // wrap text in <c> txt </c> const cue = new VTTCue(0, 10, "<c>Hello world</c>"); cue.id = "test"; track.addCue(cue);
 ::cue(#test) { color: red; } ::cue { background-color: orange; }
 <video id="video" muted autoplay controls width="400px"> <source type="video/mp4" src="https://upload.wikimedia.org/wikipedia/commons/4/46/Panorama_of_the_valley_from_Leh_Palace.webm"> </source> </video>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda