2009-12-01 2 views
0

У меня есть demo page up here; вы можете просмотреть источник, чтобы посмотреть, что я пытаюсь сделать.Как получить цвета для работы в sIFR 3 r436?

Как вы можете видеть, все, что касается этого, похоже, работает, за исключением цветов. Я пытаюсь установить цвет в синий (# 0000ff), но он остается черным. Я создал собственный SWF-файл для моего шрифта, вставив четыре разных варианта одного шрифта, чтобы соответствовать различным стилям за these instructions (потому что этот конкретный семейство шрифтов сохраняет регулярные, жирные, курсивные и жирные курсивом, как четыре непересекающихся имени шрифта).

Для потомков я вставлять некоторые из исходного кода из этой демонстрационной страницы я связан с здесь:

<style type="text/css"> 
h1.sifr { 
    color: #0000ff; 
    font-family: 'Myriad Pro'; 
    font-size: 1.75em; 
    margin-bottom: 0; 
} 
</style> 
<script type="text/javascript"> 
var myriad_pro = {src: 'myriad_pro.swf'}; 
sIFR.activate(myriad_pro); 
sIFR.replace(myriad_pro, { 
    selector: 'h1.sifr', 
    css: { 
     '.sIFR-root': {'color': '#0000ff', 'font-family' : 'Myriad Pro'}, 
     'em': {'color': '#0000ff', 'font-family' : 'Myriad Pro Italic' , 'font-style' : 'plain'}, 
     'strong': {'color': '#0000ff', 'font-family' : 'Myriad Pro Bold' , 'font-weight' : 'normal'}, 
     'em strong, strong em': {'color': '#0000ff', 'font-family' : 'Myriad Pro Bold Italic' , 'font-style' : 'plain', 'font-weight' : 'normal'}} 
    } 
); 
</script> 

Что я забыл? Как заставить цвета работать?

ответ

0

Хорошо, извините, ребята. Оказывается, я слишком много думал об этом слишком много. В конце концов я закончил реэкспортирование моего SWF-файла (думаю, я мог бы сделать это несколько неправильно в первый раз) и значительно пошатнуть свой JavaScript. Я по-прежнему включал встроенную копию всех «четырех» шрифтов в файле Flash. Я установил основное динамическое текстовое поле Myriad Pro/Regular, а затем создал еще 3 динамических текстовых поля (без текста в них), установленных в Bold , Курсив и полужирный курсив соответственно. Затем я убедился, что нажимаем «Встраивание символов» на всех из них и убедитесь, что персонажи, которые я хотел, были включены.

Наконец мой JavaScript закончился выглядеть так:

<script type="text/javascript"> 
var myriad_pro = {src: 'myriad_pro.swf'}; 
sIFR.activate(myriad_pro); 
sIFR.replace(myriad_pro, { 
    selector: 'h1.sifr', 
    css: { 
     '.sIFR-root': {'color': '#0000ff'} 
    } 
}); 
</script> 

я не должен изменять шрифты или что-нибудь, но я до сих пор, чтобы убедиться, что все четыре получили включены в файл флэш. Оглядываясь назад, кажется немного странным, что он сделал Работа, когда я сказал font-family: "Myriad Pro Italic" и т. Д., Так как это не технически имя шрифта. Но по какой-то причине это вызвало конфликт с цветами, поэтому, когда я просто упомянул его как простой старый «Myriad Pro» и дал понять, что он выделен курсивом и смелостью, все это сработало. И @Mark - символы шестнадцатеричного кода в нижнем регистре или в верхнем регистре не имеют значения. Однако это делает должен быть полный шестизначный шестнадцатеричный код (т. Е. # 00f не будет работать).

0

Я получил его here. Единственное отличие состоит в том, что мой текст sifr включен в ссылки, и он меняет цвет при наведении мыши.

Моего сценария выглядит следующим образом:

<script language="javascript" type="text/javascript"> 
     //sIFR.useStyleCheck = true; 
     var eurostile = { 
      src: '/images/eurostile.swf'}; 
     sIFR.activate(eurostile); 
     sIFR.replace(eurostile , {selector: "div#mainNav li", wmode: "transparent", 
     css: [ 
      'a { text-decoration: none; color: #666666; }' 
      ,'a:link { color: #666666; }' 
      ,'a:hover { color: #00299b; }' 
     ]}); 
     sIFR.replace(eurostile , {selector: "div.menuHeadingText", wmode: "transparent" 
     ,css: [ 
      '.sIFR-root { color: #FFFFFF; }', 
      'a { text-decoration: none; color: #FFFFFF; }' 
      ,'a:link { color: #FFFFFF; }' 
      ,'a:hover { color: #FF5A00; }' 
     ]}); 

     sIFR.replace(eurostile , {selector: "h2.boxHeading", wmode: "transparent" 
     ,css: [ 
      '.sIFR-root { color: #666666; }' 
     ]}); 

Надеется, что это помогает.

/Klaus

+0

Я взял HTML, CSS и JS со страницы, с которой вы связались, и изменил ее загрузку собственного SWF-файла. И цвета работали. Однако это было только с одним шрифтом (Myriad Pro Regular). Когда я пытался смешивать разные шрифты, как указано выше (Regular, Bold, Italic и Bold Italic), однако это не сработало - он не показывал * никакого * текста! Похоже, я могу заставить цвета работать, или я могу использовать несколько шрифтов, но не то, и другое. – SoaperGEM

0

Вам может понадобиться верхний регистр значения цвета, и она не должна быть font-style: normal, а не plain?

+0

Спасибо за предложение, но это не сработало.=/Вы правы в том, что это стиль шрифта: нормальный, хотя эта часть уже работала, поэтому я предполагаю, что это просто считается нормальным, когда он видит то, что он не распознает. Я пробовал # 0000ff, # 0000FF, rgb (0,0,255) и RGB (0,0,255) все безрезультатно. – SoaperGEM