Ориентация на высоту строки может исправить это, но не уверен, что это виновник. Если у вас есть CSSEdit (или много обновляется), вы можете наблюдать за поведением, увеличивая высоту строки на 1 пиксель за раз.
Размер шрифта 14px делает это практически невозможным. FF отбрасывает жирный элемент на 1 пиксель на некоторых высотах линии, а сафари отбрасывает его на точных противоположностях! (т. е. сафари с высотой строки 20px отбрасывает жирный 1 пиксель, в то время как Firefox рендерит нормально, в противоположность вашей проблеме).
За исключением при высоте строки 3 пикселя, оба отображаются одинаково. Но высота строки в 3 пикселя странна, вам, возможно, придется учесть ее, отрегулировав поле на полях, если оно лишает вас разметки.
body {
font: 14px "Helvetica Neue";
}
.b {
font-weight: bold;
}
.a {
line-height: 3px;
float: left;
margin-top: 9px;
}
При размере шрифта в 13px все отображается одинаково в обоих при высоте строки 21px (что ближе к обычной высоте строки.
Играя с разными размерами шрифта и высотой строки, я уверен, вы найдете то, что вам нужно.
Или взломайте, если вы так катаетесь:
body {
font: 14px "Helvetica Neue";
}
.b {
font-weight: bold;
}
.a {
line-height: 21px;
float: left;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
/* Safari 3.0 and Chrome rules here */
.a {
line-height: 20px;
}
}