Chcę poznać dokładną długość w pikselach ciągu, np. "Hello World".Uzyskaj długość łańcucha w pikselach za pomocą JavaScriptu
Nie powinna to być długość mojego kontenera.
Każda pomoc?
Chcę poznać dokładną długość w pikselach ciągu, np. "Hello World".Uzyskaj długość łańcucha w pikselach za pomocą JavaScriptu
Nie powinna to być długość mojego kontenera.
Każda pomoc?
Można tworzyć jakiś element inline (span
, na przykład), ustawić ciąg jako zawartość elementu (innerHTML
), włóż ją do dokumentu (dołączyć do jakiegoś elementu) i dostać to szerokość (clientWidth
).
Nie ma innego sposobu pomiaru długości łańcucha w pikselach, ponieważ zależy to od stylu czcionki.
Umieść swój tekst w numerze <span>
i użyj JavaScript, aby zmierzyć szerokość swojego <span>
.
HTML:
<span id="text">Dummy text</span>
JavaScript:
var textWidth = document.getElementById("text").clientWidth;
jQuery:
$('#text').width();
To nie działa, jeśli 'span' ma styl CSS, który ustawia na przykład jego szerokość na' 100% '! – Andry
Masz rację @Andry. Z wyjątkiem 'span' jest z definicji element [inline element] (https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements). Oznacza to, że nie możesz zdefiniować jego szerokości bez zmiany wyświetlania na np. 'block' lub' inline-block'. – Mike
Ponieważ długość piksel ciągu będzie się zmieniać w zależności niezależnie stosowane CSS atrybuty takie jak czcionki i waga i rozmiar, nie widzę, aby było to możliwe w JS.
* "Nie powinna to być długość mojego pojemnika." * Wybierz właściwy pojemnik (np. Przęsło bez wyściółki) i nie ma różnicy. –