Pertanyaan `& mdash;` atau `—` apakah ada perbedaan dalam output HTML?


— atau —

Apakah ada perbedaan antara ini? Apakah yang didukung lebih baik dari yang lain?


75
2017-11-09 12:44


asal


Jawaban:


Pengurai SGML (atau parser XML dalam kasus XHTML) dapat menangani — tanpa harus memproses DTD (yang tidak masalah bagi browser karena mereka hanya menyeruput sup tag), sementara — lebih mudah bagi manusia untuk membaca dan menulis dalam kode sumber.

Secara pribadi, saya akan tetap menggunakan em-dash literal dan memastikan bahwa pengaturan pengkodean karakter saya konsisten.


80
2017-11-09 12:53



Mereka persis karakter yang sama. Lihat: http://en.wikipedia.org/wiki/Dash

Pembatasan bug browser mereka akan menampilkan hal yang sama dalam semua kasus, sehingga satu-satunya perbedaan akan menyangkut keterbacaan kode, yang akan mengarah ke —.

Atau, jika Anda menggunakan UTF-8 sebagai charset dalam dokumen HTML Anda, Anda dapat memasukkan karakter secara langsung. Itu juga akan menampilkan persis sama.


12
2017-11-09 12:52



— :: — :: \u2014

Ketika mewakili m-dash dalam string teks JavaScript untuk output ke HTML, perhatikan bahwa itu diwakili oleh nilai unicode-nya. Ada beberapa kasus ketika karakter ampersand ('&') tidak akan diselesaikan — terutama konteks tertentu dalam JSX. Dalam hal ini, tidak juga — maupun — akan bekerja. Sebagai gantinya Anda perlu menggunakan urutan pelolosan Unicode: \u2014.

Misalnya, saat menerapkan render() metode untuk menampilkan teks dari variabel JavaScript:

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

Ini akan menampilkan:

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

Alih-alih &- representasi awalan, Anda harus menggunakan \ u2014:

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

2
2018-04-25 05:46



Bisa jadi bahwa menggunakan kode angka lebih universal, karena referensi langsung ke karakter dalam tabel entitas html, tapi saya kira keduanya bekerja di mana-mana. Notasi pertama sangat mudah diingat untuk banyak karakter.


1
2017-11-09 12:50



Dari situs web W3 Entitas HTML umum digunakan untuk tipografi

Untuk kepentingan portabilitas, referensi entitas Unicode harus disediakan untuk digunakan dalam dokumen tertentu yang akan ditulis dalam set karakter UTF-8 atau UTF-16. Dalam semua kasus lain, referensi alfanumerik harus digunakan.

Terjemahan: Jika Anda mencari dukungan terluas, pergilah &mdash;


0
2017-08-12 01:45