Я пытаюсь получить значение унаследованного свойства CSS с помощью Javascript. Мне не удалось найти исчерпывающий ответ.
Пример CSS:
div {
width: 80%;
}
Пример разметки:
<div id="mydiv"> Some text </div>
С помощью javascript (jQuery, или нативного), мне нужно получить ширину элемента--не в пикселях, а строкой "80%".
$('#mydiv').css('width'); // returns in px
$('#mydiv')[0].style.width // empty string
getComputedStyle($('#mydiv')[0]).width // returns in px
Причина Мне нужно значение в виде строки, потому что мне нужно скопировать стиль в другой элемент. Если он объявлен в процентах, другое значение должно быть в процентах. Если оно объявлено в пикселях, другое значение должно быть в пикселях.
Хитрость заключается в том, что это свойство может быть унаследовано, а не объявлено явно для элемента (, как в моем примере ).
У кого-нибудь есть идеи?