Метод 4, безусловно, лучший, поскольку он четко указывает, что произойдет, и использует минимум кода.
Метод 3 просто неправильный на каждом уровне. Вы знаете, что предмет может быть нулевым, поэтому это не исключительная ситуация, это то, что вы должны проверить.
Метод 2 только делает его более сложным, чем нужно.
Метод 1 - это просто метод 4 с дополнительной строкой кода.
Вы правы, это разница в рендеринге. Способ визуализации текста зависит от вашей ОС, ваших настроек и вашего браузера (например, Safari отдает смелее, чем IE). Таким образом, нет никакого способа сделать этот рендеринг соответствующим вашему фотошопу.
Немного больше информации здесь:
Используйте CSS, чтобы сгладить ваши шрифты ...
вставьте это в свой CSS:
-webkit-font-smoothing: antialiased;
Рендеринг шрифтов может быть сложным. К сожалению, разные браузеры отображают один и тот же шрифт по-разному.
Что касается CSS, настройка font-weight:100
гарантирует, что будет использоваться самый легкий доступный вес. Вы также можете установить -webkit-font-smoothing:antialiased
.
<style type="text/css">
body {
font-family:"Helvetica Neue", Arial, sans-serif;
font-weight:100;
-webkit-font-smoothing:antialiased;
}
</style>
Helvetica Neue - очень тонкий шрифт, родной для OSX.
Ваша лучшая ставка действительно http://www.google.com/fonts/
Также стоит отметить:
https: // typekit. com /
http://www.fontsquirrel.com/tools/webfont-generator
Я не верю, что какой-либо из универсальных веб-шрифтов имеет очень тонкий вес во всех браузерах. Однако в наши дни существуют способы встраивания пользовательских шрифтов во все основные браузеры.
http://typekit.com/
http://www.google.com/webfonts
http : //www.fontsquirrel.com/fontface/generator
Любой из этих инструментов может дать вам практически любой вид шрифта, который вы можете себе представить. Просто будьте осторожны с авторскими правами на последний.