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

113
Visualizações
Convierta CSS sin formato en propiedad de estilo DOM de Javascript

¿Alguien tiene un buen método para convertir CSS "en bruto" en propiedades de estilo DOM? Por ejemplo:

Aporte:

 const raw_css = ` h1 { color: red; display: block; } .myClass { background: blue; position: absolute; opacity: .3; } `;

Debe convertirse en:

Producción:

 document.querySelector("h1").style.color = "red"; document.querySelector("h1").style.display = "block"; document.querySelector(".myClass").style.background = "blue"; document.querySelector(".myClass").style.position = "absolute"; document.querySelector(".myClass").style.opacity = ".3";

Entonces, de alguna manera, debería tomar el CSS sin procesar de const/let/var y convertirlo en varias reglas. Por cordura, sería genial si los elementos se dividen por una nueva línea, como el ejemplo de salida. Intenté dividirlos obteniendo primero el contenido entre corchetes { ... } y separando las líneas dividiendo el ; ... Pero no tengo una gran idea para vincular los elementos a las reglas de estilo. También busqué en Google opciones similares, pero no encontré ninguna.

Espero que alguien pueda darme algunos consejos. Sé que no proporcioné mucho y que StackOverflow no es un servicio de escritura de código, pero estoy realmente atascado en este.

¡Cualquier ayuda es bienvenida!

(Editar: soy consciente de que no todas las propiedades de estilo se pueden traducir directamente a una propiedad de estilo DOM. Como: border-top == borderTop. Pero podría escribir un script condicional simple que reemplace esas propiedades "no traducibles")

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puedes probar:

  • dividir la cadena por saltos de línea ( \n )

  • recorriendo cada línea y comprobando si coincide con la expresión regular .+{ .

    • si lo hace, sabemos que es un selector. Extrae el selector y guárdalo en una variable
    • de lo contrario, verifique si la línea está en blanco o es una llave de cierre. Si no es ninguno, extraiga la propiedad y el valor de la declaración de la propiedad CSS dividiendo por : y recortando el resultado

 const selectorRegex = /.+{/gm; const raw_css = ` h1 { color: red; display: block; } .myClass { background: blue; position: absolute; opacity: .3; } `; const lines = [] const split = raw_css.split("\n"); var lastSelector; split.forEach(e => { const trimmed = e.trim(); if (selectorRegex.test(e)) { lastSelector = e.replace("{", "").trim() } else if (trimmed != "}" && trimmed.length > 0) { const propValue = e.split(":"); const property = propValue[0].trim(); const value = propValue[1].trim(); lines.push(`document.querySelector("${lastSelector}").style.${property} = "${value}"`); } }) console.log(lines);

about 4 years ago · Juan Pablo Isaza Relatório

0

CSS en JS admite la conversión de CSS a su formato JavaScript con su herramienta CLI

Instale la herramienta JSS CLI usando:

 npm install jss-cli -g

Y úsalo así:

 jss convert source.css

O puede usar npx para ejecutarlo una vez:

 npx jss convert source.css
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