2010-01-08 5 views
0

Я работаю с SIFR 3.0 в течение некоторого времени, и размер шрифта никогда не работает правильно. Я понимаю основные понятия SIFR. SIFR запускается при загрузке страницы. Он выполняет некоторые вычисления с размером шрифта, полученного в формате HTML, а затем заменяет его флэш-ролей, который примерно равен этому размеру. Из-за этого вы хотите, чтобы ваш HTML-шрифт соответствовал размеру вашего SIFR-шрифта как можно ближе.SIFR 3.0 - Размер шрифта

Моя проблема всегда возникает при попытке совместить эти два размера шрифта. Предположим, я хочу использовать шрифт SIFR для Helvetica Neue Lt примерно на 32 пикселя. HTML-эквивалент - это что-то вроде Arial Narrow примерно в 36px с некоторым расстоянием между буквами. Итак, вот что я делаю.

В sifr.css Напишу:

@media screen { 
    .sIFR-active h1 { 
     visibility: hidden; 
     z-index: 0 !important; 
     font-size: 36px; 
    } 
} 

Великий, который получает по умолчанию HTML шрифт размер мне нужно. Теперь мне нужно обновить размер шрифта SIFR. Поэтому я перехожу в sifr-config.js и пишу что-то вроде этого:

sIFR.replace(HelveticaNeueThinCond, { 
    selector: 'h1', 
    css: '.sIFR-root { color: #762123; font-size: 32px; line-height: 1em; }', 
    transparent: true 
}); 

Так что сейчас все отлично работает. Это до тех пор, пока мой текст h1 не обернется более чем одной строкой. По какой-то причине, когда текст обертывает его, отображается только первая строка. Кажется, вычисляет высоту неправильно. Это очень странно, потому что я провел несколько тестов. Я взял «видимость: скрытый» с «sIFR-active h1», чтобы убедиться, что текст в формате HTML был правильным. Это, он занимает две линии. Однако, когда Flash заменяет этот текст, он дает минимальную высоту одной строки текста. Странный.

Единственный способ, который я смог найти, чтобы исправить эту проблему с упаковкой, заключался в удалении «font-size: 32px;» от "sIFR.replace (HelveticaNeueThinCond) в sifr-config. Проблема, с которой я сталкиваюсь, заключается в том, что он наследует размер шрифта, установленный в sifr.css. Теперь проблема в том, что мой текст в формате HTML больше, чем текст SIFR. мой HTML-текст будет перенесен на новую строку до того, как мой текст SIFR оставит большое пустое пространство.

Итак, как мне установить два разных размера шрифта (один для моего текста HTML и один для моего SIFR), не теряя обертывания .

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

Благодаря


Thanks Mark. Как объяснено, если я удалю размер шрифта из sIFR.replace, он по умолчанию будет использовать размер шрифта, объявленный в. SIFR-active. Я объявляю два разных размера шрифта по какой-либо причине, я хочу, чтобы sIFR.replace имел размер шрифта 32px и sIFR-active, размер шрифта 26px. Таким образом, они подходят как можно ближе. Не существует способа, чтобы у вас флэш-шрифт (sifr.replace) был другого размера, чем шрифт HTML (sifr-active)?

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

+0

Это не отвечает на ваш вопрос, но вы пробовали cufon? Это смешно легко настроить, так что, возможно, стоит пойти ... – Skilldrick

+0

с использованием PHP? вы можете получить fontreplace FLIR по адресу http://thephpcode.blogspot.com/2009/12/fontreplace-phpjquery-font-replacement.html – mauris

+0

@Skilldrick - я еще не пробовал cufon. Я избегал этого, потому что я был не уверен в юридических проблемах, которые могут вызвать помехи на сервере. Это определенно стоило бы задуматься. – Nick

ответ

0

Вы, кажется, делаете все правильные вещи с помощью класса .sIFR-active и расстояния между буквами. Удалите размер шрифта и высоту линии с sIFR.replace, и вы должны быть в порядке ...

+0

Извините, я должен был сделать комментарий, а не ответ. Я новичок на этом сайте. Thanks Mark. Как объяснено, если я удалю размер шрифта из sIFR.replace, он по умолчанию будет использовать размер шрифта, объявленный в. SIFR-active. Я объявляю два разных размера шрифта по какой-либо причине, я хочу, чтобы sIFR.replace имел размер шрифта 32px и sIFR-active, размер шрифта 26px. Таким образом, они подходят как можно ближе. Не существует способа, чтобы у вас флэш-шрифт (sifr.replace) был другого размера, чем шрифт HTML (sifr-active)? – Nick

0

На самом деле, я никогда не думал использовать два разных размера шрифта, sIFR просто предназначен для использования размера шрифта из CSS.

Вы можете использовать http://wiki.novemberborn.net/sifr3/Ratio+Calculation, хотя, чтобы помочь sIFR отсортировать высоту Flash-ролика и, конечно, настроить letter-spacing, чтобы разобраться в ширине текста.

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