0

我保证,我已经阅读了数百个 Joyent 帖子和 stackoverflow 问题,我会先说我确定我没有放错逗号并安装了 flash 并且已经让其他人在 IE 中尝试了该页面。

问题是在 IE 6/7 中没有任何渲染,但 IE8、FF 和 Safari 都很好。这是代码:

//sIFR-config.js

var zapfino = { src: '/fonts/zapfino.swf' };

sIFR.fitExactly = true;
sIFR.useStyleCheck = true;
sIFR.useDomLoaded = true;

sIFR.activate(zapfino);

sIFR.replace(zapfino, {
  selector: 'h1, h2, h3, h4'
  ,css: '.sIFR-root { color: #1A2F35; }'
  ,forceSingleLine: true
  ,tuneWidth: 5
  ,wmode: 'transparent'
  ,filters: {
      DropShadow: {
        knockout: false
        ,distance: 3
        ,color: '#330000'
        ,strength: 1
        ,alpha: .45
      }
    }
  ,ratios: [7, 3.59, 9, 3.56, 10, 3.49, 12, 3.5, 13, 3.46, 20, 3.47, 23, 3.43, 26, 3.44, 34, 3.42, 40, 3.41, 42, 3.4, 45, 3.41, 47, 3.4, 49, 3.41, 69, 3.4, 71, 3.39, 72, 3.4, 76, 3.39, 77, 3.4, 3.39]  
});

/* sIFR.css */
@media screen {
    .sIFR-active h1, .sIFR-active h2, .sIFR-active h3, .sIFR-active h4 {
        visibility: hidden;
        font-family: Verdana;
        line-height: 1em;
        color: #ff0000;
    }
    .sIFR-dummy { 
        width: 0px;
        height: 0px;
        margin-left: 42px !important;
        z-index: 0;
    }    
}

<!-- HTML Snippet -->
<div id="header">
    <H1>H1 Example</H1>
    <h3>H3 Example</h3>
    <h2>H2 Example</h2>
    <h4>H4 Example</h4>
</div>

请注意,您看到的几乎每个选项我都尝试过,有无缓存清除等。此外,主 css 绝对将 h1-4 定位在 div#header 中,我也尝试将其注释掉。

编辑:请注意 .sIFR-active 类应用于<html>,所以我知道脚本正在触发,但除此之外页面上没有任何内容被更改。

我也尝试过来自不同来源的不同字体,但在 IE 中仍然没有运气。

TIA,

周杰伦

4

1 回答 1

1

有时在 IE6/7 中,当绝对值位于浮点数旁边时,绝对值会消失。

在您的 CSS 中,您.1header向左浮动,紧随其后.header_text的是绝对定位。

尝试设置.header_text为位置:相对。.1header或者在and之间放一个空的 div .header_text。或者将 div 包装.header_text在另一个 div 中。

BTW - CSS 类名必须以下划线 (_)、破折号 (-) 或字母 (az) 开头。以数字开头的类名是无效的,但我不知道在这种情况下它是否对 IE 有影响。

评论后添加

我很确定这是一个 CSS 问题。<h1>...<h4>用#header_text 中的sifr 删除。添加<h1>test</h1>. 在 CSS 中,添加 'background-color:#00c;' 在#header_text 上。

在Firefox中查看它。您应该看到蓝色背景上的红色测试。看IE,你不会。

在#header_text 上将位置:绝对更改为位置:相对。在 IE 中查看,蓝色背景的红色测试应该出现(不是你想要的,但这是另一个问题)。

于 2009-06-02T23:38:33.653 回答