Ширина текста разная в разных браузерах

По какой-то причине мне нужно получить ширину текста. Когда я использую offsetWidth, clientWidth или getBoundingClientRect, у меня есть различия в вычислении ширины текста в разных браузерах, в основном в Edge.

Я пробовал следующее: демонстрация

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
body {
	line-height: 1;
}

h1 {
  display: inline-block;
  font-size: 38px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
<h1>Welk woord is onderstreept?</h1>
<script>
  var h1 = document.getElementsByTagName("h1")[0];
  document.write(h1.offsetWidth);
</script>

Неважно, какой шрифт я использую. Кто-нибудь знает правильное решение, чтобы иметь одинаковую ширину текста в каждом браузере?

Разные ОС и разные браузеры используют разные механизмы рендеринга шрифтов, поэтому они могут иметь разный размер.

Germano Plebani 16.07.2018 12:17

Проще говоря, вы не можете, поскольку каждый браузер имеет свой способ визуализации текста, и, кроме того, разные ОС, ... и никто не будет тестировать кросс-браузер, чтобы увидеть, сколько пикселей отличается тот или иной, и дать вам какой-то штраф за это :). И их различие - одна из причин, по которой люди выбрали одну из них.

Ason 16.07.2018 12:21

Хм, очень плохо, тогда я сильно застрял, потому что текст теперь будет ломаться, когда ширина контейнера равна ширине текста. Спасибо, в любом случае!

NiZa 16.07.2018 12:52
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
3
52
0

Другие вопросы по теме