Soru HTML 5: Bu,
veya
mi?


Kontrol ettim diğer cevaplarama hala kafam karıştı - özellikle gördükten sonra W3schools HTML 5 referansı.

HTML 4.01'in tek etiketlerin sadece "izin ver" olması gerektiğini düşündüm. <img> ve <br>. Sonra XHTML birlikte geldi <img /> ve <br /> (Birisi daha eski tarayıcılar için yer olduğunu söyledi).

Şimdi, HTML 5'i uygularken kodumu nasıl biçimlendirdiğimi merak ediyorum.

<!DOCTYPE HTML>

bu mu <br>, <br/> veya <br />?


1689
2017-12-22 13:39


Menşei


Bu soruyu ve w3schools ve w3fools ile ilgili yorumları gördüm. Şimdiye kadar gördüğüm kadarıyla, w3fools tarafından bildirilen tüm hatalar w3schools'ta düzeltildi. Yani aslında dinliyorlar. - Luis Alvarado
IMO, w3schools yeni başlayanlar için iyi bir öğreticidir, çünkü basit kelimeler ve örnekler kullanırlar, W3C Spec ve MDN'nin aksine tüm fantezi kelimeler ve zorlu fikirlerle. - Derek 朕會功夫
W3schools'a karşı olan herkes için alternatifler için önerileriniz nelerdir? - chainwork
@chainwork kullanımı htmldog.com - Jung3o
İşte br (void öğeleri) gibi elemanlarla ilgili resmi W3 HTML5 standardı: dev.w3.org/html5/markup/syntax.html#void-element > Seçeneğinden önce A / (eğik çizgi) ve isteğe bağlı / önce herhangi bir sayı veya boş alan yok. Bu, ne yazabileceğinizi veya <br/> veya <br /> veya <br /> vb. - Ignas2526


Cevaplar:


basitçe <br> yeterlidir.

Diğer formlar XHTML ile uyumluluk için vardır; Aynı kodu XHTML olarak yazmayı ve HTML olarak çalışmayı mümkün kılmak. HTML üreten bazı sistemler, XML jeneratörlerine dayalı olabilir ve bu nedenle yalnızca bir çıktı elde etme yeteneği yoktur. <br> etiket; Böyle bir sistem kullanıyorsanız, kullanmak iyidir <br/>yapmanız gerekmiyorsa, sadece gerekli değildir.

Ancak çok az insan aslında XHTML kullanıyor. İçeriğinize göre hizmet etmeniz gerekiyor application/xhtml+xml XHTML olarak yorumlanacağı ve IE'nin eski sürümlerinde çalışmadığı için, yaptığınız küçük bir hatanın XHTML'yi destekleyen tarayıcılarda sayfanızın görüntülenmesini engelleyeceği anlamına da gelir. Yani, web üzerinde XHTML gibi görünenlerin çoğu HTML olarak sunulmakta ve yorumlanmaktadır. Görmek XHTML olarak metin / html olarak sunulması Zararlı biraz daha bilgi için.


1293
2017-12-22 13:42



"Dikkat Edilmiş Zararlı" denemeler zararlı sayılır! - meyerweb.com/eric/comment/chech.html - Michael Krelin - hacker
Ancak geçerli bir xml'ye sahip olmanız anlamsız servis Her neyse, xhtml. Her türlü yerel ön işlem için yararlı olabilir. - Michael Krelin - hacker
Evet, ama HTML'yi XML olarak çok dikkatli işlemek zorundasınız. Bunlar farklı dillerdir ve her birinin yalnızca bir alt kümesi uyumludur. Örneğin, XML'de <br/> aynıdır <br></br>ancak ikincisi geçerli bir HTML değildir. - Brian Campbell
Brian, senin fikrin buydu kutu senin html iyi biçimlenmiş xml olsun, bu kadar. Elbette, birini diğerine dönüştürürken, hala geçerli olduğundan emin olmak zorundasınız, ama bahsetmeye değer mi? :) - Michael Krelin - hacker
@Marco: Huh, bilmiyordum document.write  çalışmıyor xhtml - paylaşım için teşekkürler. Webapps'in Javascript kullanmadan denemek ve yapmak için aptalca olacağına katılıyorum, ancak Javascript'te neredeyse% 100'e varan web sitelerinin olduğunu söylemeye çalışıyordum. daha kırılgan ve kullanıcılar javascript'i devre dışı bıraktığında (veya eski telefonları veya bir şeyi kullanıyorsa) başarısız olabilir - Michael0x2a


Bence bu alıntı HTML 5 Referans Taslak cevabı sağlar:

Ancak bazı unsurlar yasaklandı   herhangi bir içerik içermekten.   Bunlar geçersiz öğeler olarak bilinir. İçinde   HTML, yukarıdaki sözdizimi kullanılamaz   boşluk elemanları için. Bu gibi öğeler için   son etiketin atlanması gerekir çünkü   eleman otomatik olarak kapanır   ayrıştırıcı. Bu gibi unsurlar şunları içerir:   diğerleri arasında br, hr, link ve meta

HTML Örneği:

<link type="text/css" rel="stylesheet" href="style.css">

XHTML'de, XML sözdizimi   şartlar bunun olması gerektiğini dikte   açık bir şekilde kullanılarak açıklamak   bitiş etiketi, yukarıdaki gibi veya boş   öğe sözdizimi. Bu tarafından elde edilir   sonunda bir eğik çizgi ekleme   etiketi sağdan hemen önce başlat   açılı ayraç.

Örnek:

<link type="text/css" href="style.css"/>

Yazarlar isteğe bağlı olarak kullanmayı tercih edebilir   void öğeleri için aynı sözdizimi   HTML sözdizimi de. Bazı yazarlar   ayrıca boşluk içermeyi de seç   eğik önce, ancak bu değil   gerekli. (Bu boşlukta boşluk kullanmak   moda, kalıtsal bir sözleşmedir   XHTML'deki uyumluluk yönergeleri   1.0, Ek C.)


195
2017-12-22 13:44



Yani, cevap tercihen eğik çizgi ve boşluk olmaksızın kodlamaktır, ancak eğik çizgi (boşluk olsun veya olmasın) isteğe bağlı mıdır? - Eikern
Ben böyle okudum, evet. - Daan
Spesifikasyonun özellikle spesifik olmadığını (bu noktada) seviyorum "meh, ne istersen yap!" - Matt Ellen
İsteğe bağlı olduğundan daha fazla /> çünkü okunabilirlik için iyidir. - BrunoLM
Etiketlerimi doğru bir şekilde hissetmemek için açık bir şekilde gerek duymaktan hoşlanıyorum ve kod yazarken / okurken anlam ifade ediyorum. HTML5 Referans Taslağının benimle aynı fikirdeyim. - Syntax Error


XML etiketleri açık bırakmaya izin vermez, bu yüzden <br> diğer ikisinden biraz daha kötü. Diğer ikisi, eski tarayıcılarla uyumluluk için tercih edilen ikinci kabaca eşdeğerdir. Aslında, daha önce yer / uyumluluk uğruna tercih edilir, ancak bence yalnızca özniteliklere sahip etiketler için anlamlı olur. Yani ben de isterim <br/> veya <br />, hanginiz estetikten hoşlanırsa

Özetlemek gerekirse: üçü birincisi biraz daha az "taşınabilir" olmakla geçerlidir.

Düzenle: Artık hepimiz bu konuda deli oluyoruz. dev.w3.org:

Başlangıç ​​etiketleri aşağıdakilerden oluşur   tam olarak aşağıdaki sırayla parçalar:

  1. Bir "<" karakteri.
  2. Öğenin etiket adı.
  3. İsteğe bağlı olarak, her biri olması gereken bir veya daha fazla özellik   bir veya daha fazla boşlukla önce   karakter.
  4. İsteğe bağlı olarak, bir veya daha fazla boşluk karakteri.
  5. İsteğe bağlı olarak, yalnızca eğer varsa mevcut olabilecek bir "/" karakteri   eleman boş bir elementtir.
  6. Bir ">" karakteri.

119
2017-12-22 13:42



HTML aslında XML değil, sadece oldukça yakın. - tloach
Evet, değil. Fakat / burada ortak bir paydadır. HTML5 özellikle kullanımına izin verir /: "İsteğe bağlı olarak, yalnızca öğe bir boşluk öğesi olduğunda mevcut olabilecek bir" / "karakteri. - Michael Krelin - hacker
helloworlder, HTML5 belirtiminin XML uyumlu olmasına yakın olduğunu söyleyebilirim. - Michael Krelin - hacker
Bunu hem XML hem de HTML'de eklemek istiyorum. ML, İşaretleme Dili anlamına gelir. Aralarında bu kadar fazla örtüşme olmasının nedeni, her ikisi de SGML (Standartlaştırılmış Genelleştirilmiş İşaretleme Dili) kullanılarak orijinal olarak tanımlanmış olmalarıdır, ancak şimdi pek çok kişi hatırlamıyor. - John Vincent
@BennyNeugebauer, Eğer html'yi ayrıştırmak için regex kullanıyorsanız, doğru bir şekilde kapatılmış etiketler yerine şansınıza güvenmek için daha çok veya daha az kaldınız ;-) - Michael Krelin - hacker


İçinde HTML (HTML 4'e kadar): kullan <br>

İçinde HTML 5: <br> tercih edilir ama <br/> ve <br /> ayrıca kabul edilebilir

İçinde XHTML: <br /> tercih edilir. Ayrıca kullanabilir <br/> veya <br></br>

Notlar:

  • <br></br> HTML 5'te geçerli değil, iki satır sonu olarak düşünülecek.
  • XHTML büyük / küçük harfe duyarlıdır, HTML büyük / küçük harfe duyarlı değildir.
  • Geriye dönük uyumluluk için, bazı eski tarayıcılar XHTML'yi HTML olarak ayrıştırır ve başarısız olur <br/> Ama değil <br />

Referans:


88
2017-12-30 05:40



Bağlantıyı kontrol ettiniz, tercih edilen yaklaşım ise, budur, fakat nerede <br/> kabul edilemez? - JackDev
XML uyumlu sözdizimini açıklığa kavuşturmak için <br/> ve <br /> (bir SPACE ile) eşittir, ya da herhangi bir tercihi yoktur. Bakın XML 1.0 Spec. Önce boşluk (boşluk, sekme veya satır besleme) /> tercihi olmaksızın isteğe bağlıdır. - Basil Bourque
HTML5'te tercih edilen XML dışı sözdizimi için başvuru gönderebilir misiniz? Bu bana haber. Sıkı XML uyumluluğu için isteğe bağlı destek, hatırladığım kadar HTML5'in kurucu bir amacıydı. Belki de bir şeyleri kaçırdım. HTML ve XHTML whatwg.org adresindeki veya W3C Çok Noktalı İşaretleme: HTML5 kelime bilgisinin sağlam bir profili W3C'de. - Basil Bourque
@BasilBourque Size başka bir yerde söylediğimi tekrarlamak için. HTML5'teki gerçek özellikleri etiketler ve öğeler için okuyun ve hiçbir zaman, bu etiketler için bir kapanma eğrisi kullanmayı gerektiren veya öneren herhangi bir öneri veya öneri bulamazsınız. XML veya XHTML kullanmak istiyorsanız, HTML kullanmıyorsunuz ve bu farklı bir hikaye. Bu HTML etiketleri için bir kapatma eğimi KULLANMAYIN. Başka bir yerde, spec orada bir tane koyabileceğinizi söylüyor ama hiçbir şey ifade etmiyor, hiçbir şey yapmıyor ve tarayıcılar bunu görmezden geliyor. Bu yüzden anlamsız ve yararsızdır, hiçbir işe yaramaz ve yararsızdır. - Rob
@Rob Yani Bölüm 8.1.2.1. Etiketleri başlat arasında Bölüm 8. HTML sözdizimi belgenin HTML 5.2 W3C Öneri, 14 Aralık 2017, W3C tarafından yayınlanan HTML gerçek belirtimi değil mi? Tavsiye lütfen. - Basil Bourque


Göre spec beklenen form <br> HTML 5 için ancak bir kapatma eğrisine izin verilir.


52
2017-12-22 13:44





XML, tüm etiketlerin karşılık gelen bir kapatma etiketine sahip olmasını gerektirir. İç içeriğe sahip olmayan etiketler için özel bir kısa el sentaksı var.

HTML5 XML değildir, bu yüzden böyle bir gereklilik oluşturmamalıdır. HTML 4.01 de değil.

Örneğin, HTML5 özellikleri, tüm örneklerle br etiket kullanımı <br> sözdizimi, değil <br/>.

UPD Aslında, <br/> olduğu HTML5'te izin verildi. 9.1.2.1, 7.


19
2017-12-22 13:48



"HTML5 XML değil, bu yüzden böyle bir gereklilik oluşturmamalıdır." Bunun doğru olup olmadığı, "HTML5" kelimesinin yorumlanmasına bağlıdır. HTML5'ten dil olarak konuşursak, bu ifade doğrudur. Bununla birlikte, bir belirtim olarak HTML5'ten bahsediyorsak, bu ifade yanlıştır. HTML5 spesifikasyonu, "HTML ve XHTML için bir kelime ve ilişkili API'ler" tanımlar. Biliyorum bu biraz nitpicking, bu cevabın yanlış olduğunu söylemiyorum, sadece okuyucu için ek bilgi veriyordum. - Christian Hujer


Aşağıdaki nedenlerden dolayı <br /> kullanmanızı öneririm:

1) Farklı renklerde XML sözdizimini vurgulayan metin ve XML editörleri, <br /> ile doğru bir şekilde vurgulanacaktır, ancak eğer siz, bu yazıyı kullanıyorsanız, her zaman böyle olmaz.

2) <br /> XHTML ile geriye dönük olarak uyumludur ve iyi biçimlendirilmiş HTML (örn: XHTML) hataları ve hata ayıklamalarını doğrulamak için genellikle daha kolaydır.

3) Bazı eski ayrıştırıcılar ve bazı kodlama özellikleri, WordPress Eklenti Kodlaması özellikleri gibi kapanma eğrisinden önceki alanı gerektirir (örneğin: <br /> yerine <br />): http://make.wordpress.org/core/handbook/coding-standards/html/

Benim deneyimlerim, <br /> kullanımı sorunlu bir durumda hiç karşılaşmadım, ancak, daha eski tarayıcılarda ve araçlarda <br/> veya özellikle de sorunların sorunlu olduğu birçok durum var.


13
2018-01-16 17:43



İyi oluşturulmuş HTML XHTML değildir. - jmarkmurphy
XHTML, tanım gereği iyi oluşturulmuş bir HTML'dir. XHTML, XML'nin kurallarını izler, w3schools'a göre "XML, belgelerin doğru bir şekilde işaretlenmesi gereken bir biçimlendirme dilidir (" iyi biçimlendirilmiş "olmak) ... ... HTML ve XML'in güçlü yönlerini birleştirerek, XHTML geliştirilmiştir. XHTML, HTML olarak XML olarak yeniden tasarlandı. " (görmek w3schools.com/html/html_xhtml.asp) - Kmeixner
HTML iyi oluşturulabilir, ancak geçerli bir XML olmayabilir. W3Schools her zaman en yetkili referans değildir. - jmarkmurphy
1997'de aldığım web programlama üzerine üniversite bilgisayar bilimleri dersi profesörü, aynı zamanda xhtml'nin iyi oluşturulmuş html olduğunu iddia etti. Bilgilerinizi nereden aldığınızdan emin değilim, iddialarınızı yedeklemek için çevrimiçi kaynaklardan çevrimiçi olarak alıntı yapabilirsiniz? - Kmeixner
<br> ve <hr> tamamen geçerli ve iyi oluşturulmuş bir HTML'dir. Geçerli XML etiketleri değiller. HTML sözdizimi altındaki HTML özellikleri, geçersiz öğelerin (örneğin, veya <hr> gibi) /finalden hemen önce karakter >. Ama hiçbir etkisi yok. Varsa göz ardı edilir. Eğer / sözdiziminin tercih edilen bir parçasıydı, standart derdi should ziyade may. - jmarkmurphy


Her ikisi de <br> ve <br /> HTML5’te kabul edilebilir, ancak HTML’in <br> kullanılmalıdır. HTML5 daha önce HTML 4.01 ve XHTML 1.0'a sahip olan ve daha kolay HTML5 geçişine izin veren belgelerle daha uyumlu olması için kesiklerin kapatılmasına izin verir. Tabii ki, <br/> ayrıca kabul edilebilir, ancak bazı eski tarayıcılarla uyumlu olmak için, kapanmadan önce bir boşluk olmalıdır (/).


11
2018-04-21 18:50



@ Knickerless-Noggins bunu okuduğundan emin değilim ama <br /> mükemmel kabul edilebilir ve W3Schools HTML için bir özellik değildir. Görmek HTML5 özelliği, hangi Açıkça "Sonra, elemanın geçersiz öğelerveya öğenin bir yabancı unsursonra bir olabilir tek "/" (U + 002F) karakteri. [vurgu eklendi]" - mc10
Bu Cevap, diğerleri gibi, HTML5'teki katı XML uyumluluğunun meşruluğunu yanlış bir şekilde küçümsüyor. XML desteği değil geçici bir geçiş veya göç özelliği. XML uyumluluğunun isteğe bağlı desteği, HTML5'in kurucu bir amacıydı. XML içeriğiyle çalışmak için XML araçları kullanan kişiler için hayati bir özelliktir. - Basil Bourque