Ich mache einen Bericht und innerhalb des Berichts muss ich E-Mails von verschiedenen Anbietern rendern, diese E-Mails kommen mit ihren eigenen CSS (in der Regel inline css aber manchmal gelten sie allgemeine Stile). Normalerweise benutze ich iframes, um css einzukapseln, damit es meine nicht zerstört, aber ich kann es jetzt nicht benutzen.Encapsulate css
Gibt es eine Möglichkeit, CSS ohne die Verwendung von iFrames zu kapseln?
hier ist ein Beispiel für das Problem, das ich habe:
<html>
<head>
<style>
// I enclose it to content so it doesn't override the email css
#my_content table, #my_content p {
color: black;
}
</style>
</head>
<body>
<div id='my_content'>
... some stuff ...
<div id='email'>
<html>
<head>
<style>
table {
margin-left: 100cm; // screws up all my tables
}
.... some styles that should only apply inside the email div ...
</style>
</head>
<body>
.... email content ...
</body>
</html>
</div>
</div>
</body>
</html>
ich die HTML-Struktur extrahieren könnte und bekommen genau das, was auf dem Körper ist dann aber nicht alle meine E-Mails aussehen werden, wie es sollte. Auch der HTML-Code muss gültig sein, damit alle Vorschläge gut sind!
Sie verwenden also keine Klassen? – ChaosPandion
Ja! Verwenden Sie das Attribut "Bereich". Ich glaube jedoch nicht, dass es bisher irgendwo unterstützt wird. (Nun, Sie können es in Google Chrome in 'chrome: // flags' aktivieren.) – Ryan
Ich benutze Klassen, lassen Sie mich besser in der Frage erklären, wie E-Mails brechen meine CSS – Hassek