sIFR3: управление стилями a и a: hover внутри заменено на CSS, а не на JS - PullRequest
1 голос
/ 18 марта 2010

Для изящного унижающего достоинство и минимального кодирования функции sIFR на моих веб-сайтах я бы хотел как можно больше определять стили в CSS. Вот что я делаю:

• Определить тег H3, который будет заменен на sIFR3.

• H3 поставляется в различных цветах по CSS в зависимости от его контейнера, скажем:

body.blue-txt h3{ color: #009CDA; }
body.white-txt h3{ color: #FFFFFF; }
body.yellow-txt h3{ color: #FFFF00; }
body.etc....

• H3 может содержать якорь (я знаю о семантических проблемах, но на данный момент это так ... извините)

С настройкой:

sIFR.useStyleCheck = true;

Я думал, что sIFR3 покажет замененный обычный текст H3 с правильным цветом из моей таблицы стилей CSS. Все идет нормально: Я могу настроить, например синий текст в sifr-config.js с использованием параметра css для sIFR.replace ():

sIFR.replace(futura, {
  selector: 'body.blue-txt h3',
  css: 'a {color: #009CDA; }, a:hover { color: #009CDA; text-decoration: underline; }'
});

Но это должно быть закодировано для каждого цвета текста в моих заменах sIFR как в JS, так и в CSS. Поэтому я бы хотел, чтобы параметр sIFR.useStyleCheck просто соответствовал CSS в sifr-config.css, например:

body.blue-txt h3{ color: #009CDA; }
body.blue-txt h3 a{ color: #009CDA; }
body.blue-txt h3 a:hover{ color: #009CDA; text-decoration: underline; }

Только это, похоже, не работает ... текст ссылки продолжает появляться как # 0000FF, а наведение не подчеркивается. Это просто Not A Feature (Yet), или я что-то не так делаю?

Ответы [ 3 ]

0 голосов
/ 18 марта 2010

Если я могу предложить, почему бы не использовать @ font-face? Большинство людей уже обновили Firefox 3+, и в браузерах WebKit (Safari, Chrome и т. Д.) Он реализован некоторое время, и даже IE5.5 + поддерживает @ font-face. Это решило бы вашу проблему: hover и было бы более семантическим и логичным, а также намного быстрее, но даже лучше без Flash! ;)

Но, честно говоря, @ font-face будет лучшим вариантом, если вы не настроены специально на

0 голосов
/ 19 марта 2010

useStyleCheck не влияет на цвет в фильме Flash. Необходимо указать все стили (кроме размера шрифта) в аргументах sIFR.replace().

Теперь вы можете использовать обратный вызов modifyCss для обновления примененного CSS на основе текущего стиля заменяемого элемента. Вы должны запрограммировать это самостоятельно, хотя.

0 голосов
/ 18 марта 2010

Похоже, вам нужна эта ветка v2.0.

http://webdesign.maratz.com/lab/multi_color_sifr/

Еще одна возможность - FLIR - замена изображения

http://facelift.mawhorter.net/example-pages/facelift/facelift-links.html

...