2009-06-07 3 views
0

Je crée un site, CardinalCoffee.com, en utilisant sIFR.Certains sélecteurs SIFR ne fonctionnent pas dans Safari - bug extrêmement inhabituel:

Il est pas tout à fait prêt à aller, si l'accès en ajoutant

 
72.249.85.228 cardinalcoffee.com 
72.249.85.228 www.cardinalcoffee.com 

à votre/etc/hosts (C: \ WINDOWS \ system32 \ drivers \ etc \ hosts sous Windows). Sur la page de blog (http://cardinalcoffee.com/blog/), et uniquement sur la page de blog, certains sélecteurs sIFR échouent - mais uniquement dans Safari. Les sous-titres de la navigation et de la publication de blog basés sur sIFR n'apparaissent pas sur la page du blog, mais ils le font partout ailleurs (et sur tous les autres navigateurs, la page/blog/est très bien).

Voici les sélecteurs pertinents de SIFR-config.js:

 
sIFR.replace(itc_anna_std, { 
    selector: '#top_nav li a', 
    css: [ 
     '.sIFR-root {.sIFR-root { background-color: #f8eca8; color: #FFBF11; }', 
     'a { text-decoration: none; color: #FFBF11;}', 
     'a:link { color: #FFBF11; color: #FFBF11;}', 
     'a:hover { color: #FFBF11; color: #FFBF11;}' 
    ], 
    wmode: 'transparent', 
    forceSingleLine: true, 
    tuneWidth: 2 
}); 
sIFR.replace(itc_anna_std, { 
    selector: '.non-admin #content_column .entry h2 a', 
    css: [ 
     '.sIFR-root { background-color: #f8eca8; color: #170504; text-align:left;}', 
     'a {text-decoration:none; color: #170504;}', 
     'a:hover { color: #170504; }'  
    ], 
    wmode: 'transparent', 
    tuneHeight: -18, 
    offsetTop: -6 
}); 

De plus, la déclaration de taille de la police sur Subheadings (sélecteur: .entry h2 un) semble être ignoré. Voici la règle de style pertinente de sifr.css:

 
    .sIFR-active .non_admin #content_column .entry h2 { 
     font-size: 36px; 
    visibility: hidden; 
    } 

Ceci est un site WordPress.

[modifier]: semble que cette règle est à blâmer en quelque sorte: (. Je me suis déplacé l'autre sIFR remplacer au début du fichier et la navigation a commencé à charger sans problème)

 
sIFR.replace(itc_anna_std, { 
    selector: '.non-admin #content-column .entry h2', 
    css: [ 
     '.sIFR-root { background-color: #f8eca8; color: #170504;}', 
     'a { text-decoration: none; color: #170504;}', 
     'a:link { text-decoration: none; color: #170504;}', 
     'a:hover { color: #170504;}' 
    ], 
    wmode: 'transparent', 
    tuneHeight: -18, 
    offsetTop: -6 
}); 

+0

Utilisez une image ...? –

+0

J'apprécie votre commentaire perspicace! Mais la navigation doit être générée dynamiquement, et la gestion de ImageMagick + Wordpress, confondue avec les nécessités de la transparence de l'image sur un arrière-plan complexe, est absurde en complexité, comparée à un bug sIFR vexant. J'espère que ma résolution sera utile aux autres développeurs utilisant sIFR. –

Répondre

0

Très bien, ressemble au fait qu'il y avait une classe affectée à la <un> à l'intérieur de chaque <h2> parce que j'activais une fonction d'édition sur place avec Flutter.

Lorsque j'ai supprimé la classe sur le <un>, les remplacements sont venus très bien.

n'explique pas pourquoi déplacer le remplacement de ul.sf div.SimpleSideNav tête li sIFR au sommet des configurations SIFR-Config.js fait fonctionner, mais je ne vais pas regarder un cheval cadeau dans la bouche.

+0

Pas sûr, mais on dirait que vous l'avez compris :) Il est possible qu'il y ait eu des problèmes concernant la spécificité du sélecteur. sIFR vous oblige à placer les remplacements les plus spécifiques en premier. BTW, vous ne pouvez pas remplacer les liens directement, ils ne fonctionneront pas correctement cross-browser. Vous devez remplacer leur élément parent pour que le lien se retrouve dans l'animation Flash. –

Questions connexes