HTML in eingebettetes SVG in HTML einbetten?

8

Es ist erlaubt, SVG in HTML einzubetten ...

%Vor%

... und umgekehrt:

%Vor%

Die Spezifikationen sagen (23.2, dritter Absatz) (und ich zitiere :) "Wenn Sie möchten SVG in XHTML in SVG in XHTML in SVG einbetten, es ist in Ordnung ... ". Ich dachte Wow, das ist DEEP! und habe das getan:

%Vor%

Aber alle Browser fügen das Body-Tag mit dem HTML5-Body-Tag zusammen (das HTML5-Body-Tag erhält die svgbody-Klasse) ... Dies ist das Geige ( Vollbild ); Es gibt kein Body-Tag innerhalb der Inline-Svg.

Ich weiß nicht warum, und ich hoffe, du kannst mir helfen! Es könnte gelöst werden, indem das SVG in eine andere Datei eingefügt wird, aber ich möchte nichts davon hören. Warum funktioniert es nicht?

    
bopjesvla 07.06.2012, 16:16
quelle

4 Antworten

6

Beachten Sie, dass das SVG-Dokument XHTML in SVG in einem XML-Dokument diskutiert. Sie verwenden nicht XML, sondern HTML. Es ist eine Funktion des HTML-Parsers, die Body-Tags in der Art zusammenführt, wie Sie sie sehen.

Wenn Sie einen XML-Parser verwenden würden, würde diese Zusammenführung nicht passieren. Um dies zu erreichen, müssten Sie das Dokument mit dem Inhaltstyp application/xhtml+xml bereitstellen. Wenn Sie das getan hätten, müssten Sie andere Probleme beheben, wie zB das Hinzufügen eines xmlns="http://www.w3.org/1999/xhtml" -Attributs zu Ihrem html -Element.

Es ist viel einfacher, robertcs Rat zu befolgen.

    
Alohci 07.06.2012, 18:36
quelle
3

Brauchst du das Körperelement für etwas bestimmtes? Warum wickelst du deinen Inhalt nicht einfach mit einem nicht-privilegierten Element:

%Vor%     
robertc 07.06.2012 17:36
quelle
1

Wenn der html5-Parser das svg und alles darin ignorieren soll () Du könntest einfach die SVG in einen Kommentar einfügen; Damit der SVG-Parser die HTML-Notiz ignoriert, benutze cdata:

%Vor%

Ссылка

versuche so etwas ...

    
it's me 27.12.2012 12:41
quelle
0

In HTML in SVG in HTML habe ich den folgenden Beispielcode gefunden. Es funktioniert gut für mich.

%Vor%

Beachten Sie jedoch, dass die Unterstützung für Inline-SVG in HTML-Dokumenten bestenfalls "schrullig" bleibt (März 2014).

    
John Slegers 25.03.2014 09:49
quelle

Tags und Links