Markdown erstellt eine Ausgabe wie folgt:
<p>see this example:</p>
<pre><code>code</code></pre>
Ist das richtig oder sollte es sein:
<p>see this example
<pre><code>code</code></pre>
</p>
Für mich scheint der zweite richtig zu sein, da der Absatz und das Codebeispiel eine Einheit bilden. Was denkst du darüber?
edit: eigentlich könnte ich das gleiche über eine liste streiten (zB "bestelle eine der folgenden:"), aber eine liste kann nicht mit einem absatz platziert werden.
edit2: Zur Verdeutlichung sind beide technisch korrekt, da ein tabellenbasiertes Layout technisch möglich ist. Aber was würden Sie argumentieren, ist die Art und Weise, wie die Absicht der Tags in einem Absatz wie diesem am besten ausgedrückt wird? Oder ist es vielleicht egal? Beachten Sie, dass das Pre-Element hier nicht sehr relevant ist (aber enthalten ist, weil Markdown es auch ausgibt).
code
Element, aber in Ihren Beispielen geht es tatsächlich um Code inpre
Blöcken. Es gibt zwei völlig voneinander unabhängige Möglichkeiten , diese Dinge zu produzieren, und von uns nicht zeigt die ursprünglichen Markdown Sie verwenden oder uns Ihre Erwartungen zu sagen, es ist schwer zu sehen , was das eigentliche Problem ist (wenn es ist eins). Kennen Sie den Markdown für die Erstellung eines Inline-code
Snippets einfach nicht ?code
außerhalb setzen .)Antworten:
Wie John sagte,
code
ist ein Inline-Element und kann in Absätzen platziert werden. (Nicht unbedingt sollte ; es gibt viele andere Orte, an denen es auch erlaubt ist.) Entweder Ihr Titel oder die obigen Beispiele sind falsch, daher werde ich beide möglichen Fälle behandeln und Grubers Dokumente stehlen.Zur Herstellung eines Codeblocks erfordert , die ein Blockelement ist und nicht in einem erlaubt Tag. Verwenden Sie den folgenden Markdown:
pre
p
... was ausgegeben wird:
wie du oben gezeigt hast.
Markdown ist dabei richtig; Der Absatz und der Code sind verwandt, aber sie sind keine Einheit. (Aber wie ich in meinem obigen Kommentar sagte, bin ich mir nicht sicher, ob Sie dies tatsächlich versuchen .)
Um ein Inline-Codeelement zu erstellen , sollten Sie den folgenden Markdown verwenden:
... was ausgegeben wird:
quelle
pre
nicht im Inneren verschachtelt werden kann,p
und das ist Ihre Antwort, es sei denn, Sie möchten Ihre Dokumente mit einer benutzerdefinierten DTD verknüpfen, von der im Allgemeinen abgeraten wird .Laut w3c
<code>
handelt es sich um ein Inline-Element, so dass es innerhalb eines<p>
Elements platziert werden kann .Zu Ihrer Information, Ihr
<pre>
Tag ist redundant. Die meisten Benutzeragenten zeigen Inhalte nicht nur so an, als ob sie in einen<pre>
Zeilenumbruch (z. B. ohne Zeilenumbruch und Monospace-Typ) eingeschlossen wären, sondern Sie sollten auch CSS verwenden, um die Darstellung von<code>
Elementen zu steuern .quelle
Und die HTML5-Terminologie lautet:
p
Das "Inhaltsmodell" lautet "Inhalt formulieren": " https://html.spec.whatwg.org/multipage/grouping-content.html#the-p-elementcode
Die "Kategorien" sind: "Flow-Inhalt", "Phrasierungsinhalt" und "Tastbarer Inhalt": https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-code-elementDa
code
die Kategorien "Phrasierungsinhalt" enthalten,code
können sie eingefügt werdenp
.Siehe auch: /programming/9852312/list-of-html5-elements-that-can-be-nested-inside-p-element
quelle