Мне не удалось найти информацию о том, возможно ли getComputedStyle
элемента, которого нет в DOM браузера.
Мой тест показывает, что элементы, не вставленные в DOM браузера, не могут получить вычисленный стиль.
var el = document.createElement("span")
el.id = "greeting"
el.textContent = "Hi there"
el.setAttribute("style", "background-color: yellow;")
console.log("Element in JS memory:", window.getComputedStyle(el).backgroundColor)
document.querySelector("body").appendChild(el)
console.log("Element in browser dom:", window.getComputedStyle(document.querySelector("#greeting")).backgroundColor)
Но мне не кажется необоснованным, что можно было бы попросить браузер рассчитать стили для документов или элементов, которые находятся в JavaScript памяти. Или может быть какой-то пакет, который делает это. Но я не нашел ничего.
Возможно ли это (без необходимости писать сложные css логики вычислений c самостоятельно)?