2012-02-02 40 views
0

对于HTML时事通讯我必须使用不赞成的align属性来定位图像 - 这在电子邮件中工作正常,但在IE中,align属性不起作用,它也是如此可以定位任何包含align的元素,并将其转换为float?内容正在CMS中创建 - 如果可以避免,我宁愿避免要求用户向图像添加类。谢谢!Javascript - 将align =转换为float的方式:

+1

没有答案,但这可能有所帮助:http://www.campaignmonitor.com/css/ – 2012-02-02 13:48:48

+0

@JúlioSantos - 非常有用的链接,Júlio。感谢那! – 2012-02-02 13:58:09

+0

使用JavaScript?在电子邮件中运行?没有机会。 – Quentin 2012-02-02 14:11:41

回答

1

假设HTML指向网页而不是在线电子邮件客户端;要定位有align属性并将其转换为浮动所有图像,你需要像下面这样:

$('img[align]').each(function(){ 

    // perform conversion 
    if($(this).attr('align') == 'left') 
     $(this).css('float', 'left'); 
    else if $(this).attr('align') == 'right') 
     $(this).css('float', 'right'); 

    // remove old align tag 
    $(this).removeAttr('align'); 
}); 

添加更多的转换如果需要的话,我只加leftright作为一个例子。

明确转换每个可能值的原因是因为middle,topbottom对于float而言不是有效值。你可能不得不修改CSS属性vertical-align,但不要在那个引用我。

+0

不是OP要找的东西。他们想要做一些事情,比如保留align属性的值,删除align属性,然后用等价值添加float属性。但是,由于Outlook不支持浮动内容,因此许多发送HTML电子邮件的人都会受到打击。 – 2012-02-02 14:01:23

+0

@JimH。 - 啊,现在我明白了。谢谢你清理那个。在答案中更新了代码。 – 2012-02-02 14:10:32

+0

谢谢Goran,工作过一种享受! – bsod99 2012-02-02 17:32:20