Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

267
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!