簡體   English   中英

如何禁用html代碼塊的基礎或自舉樣式?

[英]How to disable foundation or bootstrap styling for a block of html code?

我正在使用mailgun(盡管此問題與mailgun無關)來解析傳入的電子郵件,mailgun將http將解析后的電子郵件發布到我的服務器上。 收到帖子后,我收到了包含多部分的電子郵件的html代碼。 我想將HTML電子郵件顯示給我的用戶,我正在使用Rails,所以類似

<div>
  <%= raw(message.body_html) %>
</div>

但是,它看起來與我在yahoo或hotmail中查看同一封電子郵件時的外觀不同(我知道其他電子郵件客戶端將以不同的方式顯示html電子郵件,但是我的外觀卻截然不同)。

這是我自建客戶端上的外觀: 自建客戶端中的html電子郵件顯示

這就是它在Yahoo中查找同一封電子郵件的樣子: 雅虎中的html電子郵件顯示

我使用Zurb Foundation作為樣式框架。 但是,我認為電子郵件html帶有其自己的內聯樣式,我查看它看起來確實像的代碼,然后它應該與其他客戶端看起來足夠相似。

因此,假設您獲得了html代碼塊並希望按原樣顯示而不讓其他框架覆蓋其樣式,則顯示html電子郵件的最佳實踐是什么?

更進一步,是否可以禁用代碼塊的Foundation(或Twitter引導程序)樣式,例如,類似

<div>
  <% disable_foundation_styling begin %>
    <%= raw(message.body_html) %>
  <% end %>
</div>

當然,“ disable_foundation_styling”只是我的想象。

提前致謝!

!!!!!!!!!!!! 更新1/1/2013 !!!!!!!!!!!!!!!

正如@Alex L.所建議的那樣,我嘗試了一下,但工作沒有按預期進行。 iframe像以前一樣呈現視圖中的所有內容(請參見下圖),這是可以理解的,因為iframe內容只是另一個控制器的視圖,在這種情況下,rails也將包括所有應用程序布局模板。 但是,工具欄並不是我最大的擔心,這就是iframe內的功能與以前完全一樣。 在此處輸入圖片說明

我懷疑iframe可能不是這樣做的方式。 我看了gmail和yahoo的代碼,它們不使用iframe。 相反,他們使用非常深層的嵌套來呈現html電子郵件。 html電子郵件的一部分對yahoo和gmail具有相同的代碼,除了yahoo為每個DOM元素插入一個自己的ID。

因此,現在我懷疑有些基礎樣式會影響其外觀。

找到更多信息后,我將進行更新。

據我所知,不可能指示瀏覽器選擇性地忽略DOM子集中頁面的CSS。 您必須顯式覆蓋頁面的現有樣式。

但是,如果您具有iframe元素,則將獨立於應用於包含頁面的任何樣式來呈現該框架的內容。 因此,您可以創建一個單獨的控制器並查看僅用於呈現消息內容的視圖,並將其用作iframe的源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM