Вычисленная ширина с десятичными значениями в Firefox, но без десятичных знаков в Webkit

У меня странная проблема с работой с HTML, CSS в разных браузерах: браузерах Firefox 3.6 и Webkit (Chrome и Safari).

Мой HTML выглядит так:

<div class="ln-letters">
    <a href="#" class="all">ALL</a>
    <a href="#" class="a">A</a>
    <a href="#" class="b">B</a>
    <a href="#" class="c">C</a>
</div>

И мой CSS...

.ln-letters a { 
    font-family: 'Lucida Grande';
    font-size:14px;
    display:block;
    float:left;
    padding:0px 7px;
    border-left:1px solid silver;
    border-right:none;
    text-decoration:none;
}

Как вы можете догадаться, каждый якорь имеет разную ширину в зависимости от его внутреннего текста. Например, первый элемент с текстом «ВСЕ» будет больше (больше ширины), чем остальные.

Теперь проблема в том, что в Firefox (с использованием Firebug) я вижу, что вычисленная ширина для первого элемента составляет 26,5667 пикселей, а в Chrome (с использованием инструментов разработчика Chrome) вычисленная ширина для того же элемента составляет ровно 27 пикселей.

Поэтому в каждом браузере буквы div.ln заканчиваются разной шириной, что вызывает у меня некоторые проблемы.

Вопрос: есть ли обходной путь, чтобы Firefox не вычислял десятичные значения? Или наоборот: заставить Chrome вычислять десятичные значения?

Заранее спасибо!


person jävi    schedule 03.04.2010    source источник


Ответы (1)


Я думаю, что ответ на выделенный жирным шрифтом вопрос - "нет", и мне не ясно, какую проблему вы действительно пытаетесь решить. Вы не можете ожидать, что все браузеры на всех платформах будут отображать вашу страницу одинаково (например, потому что разные платформы могут использовать разные шрифты для отображения вашей страницы). Если вы хотите, чтобы div имел фиксированную ширину, задайте ее явно в CSS.

Некоторые связанные ссылки о беспорядке дробных пикселей:

person Nickolay    schedule 06.04.2010
comment
Это действительно хорошие ссылки! Спасибо! - person jävi; 06.04.2010