sIFR 3在FF3.6中的一行中随机放置文本

时间:2010-05-17 22:46:58

标签: javascript css firefox sifr width

sIFR 3在Firefox中表现得很奇怪。

实际的sIFR flash元素设置在412px宽的框内。在IE,Chrome,Safari等中,Flash元素的搭配是一致的412px;但是,在Firefox中,Flash元素在修正自身之前会简单地与Body元素一样宽。当页面加载完成后,有时 Flash元素仍然保持那么宽,打破了布局(Flash文本流向侧边栏下方的右侧)。

在CSS中为.sIFR-flash元素设置宽度会使其保持正确的412px宽度,但文本根本不会包裹 - 它只是在右边缘处切断,并且高度为闪存元素仍然高一行。

标记很简单;它只是h2中的div

我的sIFR代码:

var clerkenwell = { src: '/flash/sifr.swf' };

sIFR.activate(clerkenwell);

sIFR.replace(clerkenwell, {  
    selector: '.post h2',  
    css: '.sIFR-root { color: #1899c4; text-transform:uppercase; font-size:30px; }',  
    transparent: 'true',  
});

设置forceWidth: 'true',只会导致与在.sIFR-flash元素上使用CSS宽度相同的问题。

那么:如何让sIFR文本保持与其包含元素一样宽,同时允许在Firefox中换行?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

这不是你问题的真正答案;但我最近将一个大型网站从 sIfr转换为Cufon ,这是一件轻而易举的事!它比sIfr简单,易于设置,也更快。糟糕的表现和错误的头痛(像你的一样)驱使我转换,我很高兴。

答案 1 :(得分:0)

最终从another StackOverflow post找到了修复程序。

通过在sifr-config.js中取消注释sIFR.useStyleCheck = true;来解决问题。我很想知道为什么有效,但答案可能就在我头上。 :)