Frage `& mdash;` oder `-` gibt es Unterschiede in der HTML-Ausgabe?


— oder —

Gibt es einen Unterschied zwischen diesen? Ist einer besser unterstützt als der andere?


75
2017-11-09 12:44


Ursprung


Antworten:


SGML-Parser (oder XML-Parser im Falle von XHTML) können damit umgehen — ohne die DTD verarbeiten zu müssen (was Browsern nichts ausmacht, da sie nur Tag-Suppe schlürfen), während — ist einfacher für Menschen zu lesen und schreiben im Quellcode.

Persönlich würde ich mich an einen wörtlichen Em-Strich halten und sicherstellen, dass meine Zeichencodierungseinstellungen konsistent waren.


80
2017-11-09 12:53



Sie sind genau die gleichen Charaktere. Sehen: http://en.wikipedia.org/wiki/Dash

Abgesehen von Browserfehlern werden sie in allen Fällen gleich angezeigt, so dass der einzige Unterschied in der Lesbarkeit des Codes liegt, auf den verwiesen wird —.

Oder wenn Sie UTF-8 als Zeichensatz in Ihrem HTML-Dokument verwenden, können Sie das Zeichen direkt eingeben. Das würde auch genau so aussehen.


12
2017-11-09 12:52



— :: — :: \u2014

Wenn Sie den M-Bindestrich in einer JavaScript-Textzeichenfolge für die Ausgabe in HTML darstellen, beachten Sie, dass er durch seinen Unicode-Wert dargestellt wird. Es gibt Fälle, in denen kaufmännisches Und-Zeichen ('&') nicht aufgelöst wird - insbesondere bestimmte Kontexte in JSX. In diesem Fall weder — Noch — wird funktionieren. Stattdessen müssen Sie die Unicode-Escape-Sequenz verwenden: \u2014.

Zum Beispiel, wenn Sie a render() Methode zur Ausgabe von Text aus einer JavaScript-Variablen:

render() {
   let text='JSX transcoders will preserve the & character—to ' 
            + 'protect from possible script hacking and cross-site hacks.'
   return (
     <div>{text}</div>
   )
}

Dies wird ausgeben:

<div>JSX transcoders will preserve the & character&mdash;to protect from possible script hacking and cross-site hacks.</div>

Anstatt der &- Präfix-Darstellung, sollten Sie \ u2014 verwenden:

let text='JSX transcoders will preserve the & character\u2014to '…

2
2018-04-25 05:46



Könnte sein, dass die Verwendung des numerischen Codes universeller ist, da es sich um einen direkten Verweis auf ein Zeichen in der html-Entitätstabelle handelt, aber ich denke, dass sie beide überall funktionieren. Die erste Notation ist für viele Charaktere einfach leichter zu merken.


1
2017-11-09 12:50



Von der W3-Website Gemeinsame HTML-Entitäten, die für die Typografie verwendet werden

Aus Gründen der Portabilität sollten Unicode-Entity-Referenzen für die Verwendung in Dokumenten reserviert werden, die sicher in die UTF-8- oder UTF-16-Zeichensätze geschrieben werden. In allen anderen Fällen sollten die alphanumerischen Referenzen verwendet werden.

Übersetzung: Wenn Sie nach der breitesten Unterstützung suchen, gehen Sie mit &mdash;


0
2017-08-12 01:45