Показать сообщение отдельно
  #3 (permalink)  
Старый 12.03.2014, 20:30
Новичок на форуме
Отправить личное сообщение для Sigak Посмотреть профиль Найти все сообщения от Sigak
 
Регистрация: 12.03.2014
Сообщений: 1

Понимаю, что уже 100 лет прошло, но может еще кому пригодиться:

"Вычислять высоту строки по формуле..." - самый точный способ. Даже не зная количества строк, можно, например, так:

function calculateLineHeight(element) {      
var p = document.createElement('p');
p.appendChild(document.createTextNode('T'));
p.style.padding =  '0px';
p.style.visibility = 'hidden';
element.appendChild(p);
var h = p.clientHeight; 
element.removeChild(p);
return h;  
}

Если все-таки нужно сделать через метод css(), то погуглив, находим вот это:

"normal — межстрочное расстояние вычисляется браузерами исходя из размера шрифта элемента. Как правило, оно равно размеру шрифта или больше его на 20%."

Опытным путем вычислено, что IE 11 прибавляет не 20, а около 15%.
Получаем следующее:

var $p = $('selector');
var h = parseInt($p.css('lineHeight')) || parseFloat($p.css('fontSize')) * 1.15 ^ 0;
Ответить с цитированием