Как можно получить свойство CSS элемента (например, ширину/высоту), как оно было установлено с помощью правил CSS, в каких бы единицах оно ни было установлено (например, проценты/em/px)? (В Google Chrome, желательно без фреймворка).
Использование getComputedStyle
возвращает текущее значение в пикселях, то же самое делает css()
в jQuery.
Например:
<div class="b">first</div>
<div id="a" class="a">second</div>
<style>
div { width: 100px; }
x, div#a { width: 50%; }
.a { width: 75%; }
</style>
При переборе всех элементов div
в этом примере я хотел бы иметь возможность получить ширину второго div
s как 50%
(и первый как 100px
).
Инспектор элементов Chrome может отображать значения свойств CSS в том виде, в каком они были установлены, поэтому в Chrome это должно быть возможно.
Не точная копиясвязанного вопроса, так как принятый ответ есть простой хак, который производит процентную ширину независимо от того, какая ширина установлена. А в остальном вы должны знать, какой селектор используется для создания активного правила? Как это узнать?