Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

269
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda