2012-06-13 5 views
3

Есть ли способ указать другой размер шрифта для другой семьи шрифтов. Шрифт, который я хочу использовать (для целей брендинга продукта), представляет собой несколько редкий шрифт (FlashDLig), который не поддерживается всеми ПК и браузерами. (мой один компьютер с Windows 7 с IE 9 не отображает его ...) Теперь для резервного шрифта я использую Arial, проблема в том, что arial намного больше, чем FlashDLig, поэтому я хочу указать для него другой размер шрифта тот же класс. Является ли это возможным?Указание разных размеров шрифтов для разных семейств шрифтов

Я знаю, что вы, вероятно, можете использовать функцию font-size-adjust, но она поддерживается только в Firefox.

Любые предложения? Возможно, может быть маска Javascript?

Благодаря

+0

Может взглянуть на: http://stackoverflow.com/questions/7717734/use-not-standard-font-in-web-pages – Julio

+1

Но почему бы вам просто не включить этот шрифт на свой сайт с помощью '@ font-face'? Даже IE поддерживает его от 5.5. – kapa

+0

Hi bažmegakapa. Спасибо, хорошая идея. Этот веб-сайт говорит, что @ font-face типы файлов поддерживаются только IE9 и более поздними версиями ... Вы говорите, что IE5.5 и выше? http://www.stunningcss3.com/resources/fontface-file-types-browser-support.html –

ответ

1

Посмотрите на следующие примеры кода:

http://www.lalit.org/lab/javascript-css-font-detect/

и

http://remysharp.com/2008/07/08/how-to-detect-if-a-font-is-installed-only-using-javascript/

и настроить таблицу стилей от результата обнаружения.

Я использовал их некоторое время назад с хорошими результатами.

Удачи вам! :)

1

Я бы рекомендовал по умолчанию использовать Arial, а затем создать второй класс, который использует шрифт @ font-face, объявленный для вашего шрифта. Тогда я думаю, что вам нужно будет использовать Javascript для проверки того, мог ли шрифт загружаться (возможно, проверить производный стиль какого-либо элемента, который вы выставляете за пределы экрана), и если это так, измените класс на новый. Причина, по которой я буду делать это, вместо того, чтобы начать с вашего пользовательского шрифта, связана с идеей progressive enhancement.

Вот один из способов изменить класс в Javascript:

if (fontLoaded()) { 
    document.body.className += " fontLoaded"; 
} 

И тогда в вашем CSS:

@font-face { 
    ... /* declare font face */ 
} 
body { 
    font-family: "Arial"; 
    font-size: 0.8em; 
} 
body.fontLoaded { 
    font-family: "FlashDLig"; 
    font-size: 1em; 
} 
+0

Спасибо. Цените. Любая идея о том, как реализовать эту часть вашего решения: «и если это так, измените класс на новый». Я предполагаю, что это должна быть какая-то функция Javascript, а Javascript - не моя сильная сторона. –

+0

. Я отредактирую свой ответ, чтобы включить это –

Смежные вопросы