2011-12-01 4 views
5

Mam pole tekstowe, którego wysokość linii jest ustawiona na "normalny". Jednak nadal mogę uzyskać rzeczywistą wartość piksela Firefox:Znajdź wartość pikseli dla wysokości linii, gdy jest "normalna" w Chrome

// firefox 
>>> $("#post_body").css('line-height') 
"19.1167px" 

Podczas gdy nie mogę w Chrome:

// chrome 
>>> $("#post_body").css('line-height') 
"normal" 

Jak mogę uzyskać rzeczywistą wysokość linii pikseli w Chrome?

+0

Po prostu chcesz uzyskać domyślną wysokość linii? Nie ustawiłeś tego? – Purag

+0

Odpowiedź, której szukasz, jest [tutaj] (http://stackoverflow.com/a/18430767/1195891). Zrobiłem zmodyfikowaną [jsFiddle] (http://jsfiddle.net/arttronics/AZ6hJ/) dla jego odpowiedzi: patrz środkowy przycisk 'calculateLineHeight()' dla użycia Chrome. Edytuj: włącz konsolę przeglądarek, aby wyświetlić wyniki. – arttronics

Odpowiedz

-3

Wartość wysokości linii to liczba. Ta liczba reprezentuje mnożnik rozmiaru czcionki bieżącego węzła. Jest to bardziej skomplikowane, jeśli czcionka bieżącego węzła jest mierzona w jednostkach em lub ex i jest ustawiona z kilku warstw dziedziczenia, ale nie jest jawnie określona w bieżącym węźle. To jest najgorszy scenariusz. W takim przypadku należy wprowadzić znak małej litery "m" i zmierzyć szerokość jego piksela za pomocą właściwości clientWidth, a następnie usunąć ją.

+0

Pytanie dotyczy sytuacji, w której 'line-height' ma wartość" normal "(co jest prawną wartością dla tej właściwości CSS). Tak więc ta odpowiedź, która zaczyna się od "Wartość wysokości linii to liczba", nie ma tutaj zastosowania. Gorąco radzę ci go usunąć. –

1

można spróbować ustawić css:

#post_body {line-height:1;}

Następnie wyjście Chrome będzie rzeczywisty piksel.

+1

Ustawienie 'line-height: 1' oznacza pomnożenie rozmiaru czcionki przez 1. To nie będzie wysokość linii. – arttronics

+0

Cytryna dzięki! Twoja wskazówka działa. – KunJ

Powiązane problemy