Question

J'ai une page de démonstration ici ; vous pouvez voir la source pour voir ce que j'essaie de faire.

Comme vous pouvez le constater, tout semble fonctionner sauf les couleurs. J'essaie de définir la couleur sur bleu (# 0000ff), mais elle reste noire. J'ai créé un fichier SWF personnalisé pour ma police, incorporant quatre variantes différentes d'une même police afin de l'adapter à différents styles. "rel =" nofollow noreferrer "> ces instructions (car cette famille de polices particulière stocke des caractères normaux, gras, italique et gras italique en tant que noms de police distincts quatre.).

Pour la postérité, je vais coller une partie du code source de la page de démonstration à laquelle je me suis connecté:

<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>

Qu'est-ce que j'ai oublié? Comment faire fonctionner les couleurs?

Était-ce utile?

La solution 3

Ok, désolé les gars. Il s'avère que j'ai trop réfléchi de la sorte. En fin de compte, j'ai fini par réexporter mon fichier SWF (je pense que je l’aurais peut-être mal fait de la première fois) et écraser mon JavaScript de manière significative. J'ai toujours inclus une copie incorporée de tous les "quatre". polices dans le fichier Flash - J'ai défini la zone de texte dynamique principale sur Myriad Pro / Regular, puis j'ai créé 3 zones de texte dynamiques supplémentaires (sans texte), définies respectivement sur Gras, Italique et Gras Italique. Je me suis ensuite assuré de cliquer sur " Incorporation de caractères " sur chacun d'eux et assurez-vous que les caractères que je voulais étaient inclus.

Enfin, mon code JavaScript a fini par ressembler à ceci:

<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>

Je n'ai pas eu à changer les polices ni quoi que ce soit, mais je devais tout de même m'assurer que les quatre polices étaient incluses dans le fichier Flash. En regardant en arrière, il semble un peu étrange que cela ait fonctionné lorsque j'ai dit famille de polices: "Myriad Pro Italic", etc., etc., car ce n'est techniquement pas la police. prénom. Mais quelle que soit la raison qui a provoqué le conflit avec les couleurs, c’est pourquoi, lorsque je l’ai simplement qualifié de "vieux bon vieux", "Myriad Pro". et laissez-le comprendre les italiques et les caractères gras, puis tout a fonctionné. Et @Mark - les codes hexadécimaux de couleur minuscule / majuscule importent peu. Cependant, il doit être le code hexadécimal à 6 chiffres (c'est-à-dire que # 00f ne fonctionnera pas).

Autres conseils

Je l'ai fait fonctionner ici . La seule différence est que mon texte sifr est inclus dans des liens et qu'il change de couleur lors du survol de la souris.

Mon script ressemble à ceci:

 <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; }'
        ]});

J'espère que ça aide.

/ Klaus

Vous devrez peut-être mettre les valeurs de couleur en majuscule. Ce ne devrait pas être style de police: normal plutôt que plain ?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top