HTML 5: Bu <br>, <br/> veya <br /> mı?


2032

Diğer cevapları kontrol etmeyi denedim , ama hala kafam karıştı - özellikle W3schools HTML 5 referansını gördükten sonra .

HTML 4.01 "izin" sadece olmak tek etiketlere sanırdım <img>ve <br>. Sonra XHTML <img />ve <br />( birisi eski tarayıcılar için alanın orada olduğunu söyledi) ile birlikte geldi .

Şimdi HTML 5 uygularken kodumu nasıl biçimlendirmem gerektiğini merak ediyorum.

Öyle mi <br>, <br/>yoksa <br />?


Bugün hangisini kullanırsanız kullanın, lütfen bazı yardımcı teknolojilerin (örn. Ekran okuyucular) muhtemelen bunu duyuracağını düşünün. Örneğin NVDA "boş" diyor. Ekran okuyucu kullanıcıları büyük olasılıkla bu ekstra duyurudan gürültü gelmeyecektir. role="presentation"Satır aralığının 'içerik' işlevi gördüğü nadir durumlar dışında bir özellik eklemeyi düşünün .
brennanyoung

Şu anki spesifikasyona göre "6. Sonra eleman geçersiz elemanlardan biriyse veya eleman yabancı bir elemansa, tek bir U + 002F SOLIDUS karakteri (/) olabilir. Bu karakterin boşluk üzerinde bir etkisi yoktur. elemanları " html.spec.whatwg.org/multipage/syntax.html#start-tags
Tim Abell

Yanıtlar:


1544

Basitçe <br>yeterlidir.

Diğer formlar XHTML ile uyumluluk için vardır; XHTML ile aynı kodu yazmayı ve HTML olarak çalışmasını sağlamak için. HTML üreten bazı sistemler XML üreteçlerini temel alabilir ve bu nedenle yalnızca çıplak bir <br>etiket çıktılama özelliğine sahip değildir ; eğer böyle bir sistem kullanıyorsanız <br/>, kullanmanız iyi olur , eğer yapmanız gerekmiyorsa bu gerekli değildir.

Ancak çok az insan aslında XHTML kullanıyor. İçeriğinizi application/xhtml+xmlXHTML olarak yorumlanacak şekilde sunmanız gerekir ve bu eski IE sürümlerinde çalışmaz - ayrıca yaptığınız küçük hataların sayfanızın XHTML'yi destekleyen tarayıcılarda görüntülenmesini engelleyeceği anlamına gelir. Yani, web'deki XHTML'ye benzeyenlerin çoğu aslında HTML olarak sunuluyor ve yorumlanıyor. Daha fazla bilgi için XHTML'yi metin / html olarak zararlı olarak kabul etme bölümüne bakın .


23
Ama geçerli bir xml sahip anlamına gelmez hizmet neyse, xhtml. Her türlü yerel önişleme için yararlı olabilir.
Michael Krelin - hacker

29
Evet, ancak HTML'yi XML olarak işlerken çok dikkatli olmalısınız. 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 HTML değildir.
Brian Campbell

10
Brian Fikir olmasıydı edebilirsiniz html bu kadar iyi biçimli XML olmak zorunda. Tabii ki birini diğerine dönüştürürken hala geçerli olduğundan emin olmalısınız, ama söz etmeye değer mi? :)
Michael Krelin - hacker

5
@Marco document.write dosyasının gerçek (x) html'ye kıyasla çok hızlı olduğunu düşünmüyorum (çünkü yürütülmesi gerekiyor). Her durumda, Javascript tüm bilgisayarlarda bulunmayabilir, bu nedenle onlara aşırı güvenen web siteleri çok esnek değildir. Ayrıca, html'nin işlevleri yoktur.
Michael0x2a

8
@Marco: Ha, bilmiyordum xhtml'de document.write çalışmıyor - paylaşım için teşekkürler. Webapps'in Javascript olmadan bir şey denemesinin aptalca olacağını kabul ediyorum, ancak Javascript'te neredeyse% 100'e dayanan web sitelerinin daha kırılgan olduğunu ve kullanıcılar javascript'i devre dışı bıraktıklarında başarısız olabileceğini söylemeye çalışıyordum (veya eski telefonları kullanıyorsa) ya da bir şey)
Michael0x2a

227

HTML 5 Referans Taslağı'ndan bu alıntıya cevap verdiğini düşünüyorum :

3.2.2.2 Geçersiz Öğeler

Terimi, boş elemanlar olması gerekir elemanları belirtmek için kullanılır boş . Bu gereksinimler yalnızca HTML sözdizimi için geçerlidir. XHTML'de, bu tür öğelerin tümü normal öğeler olarak kabul edilir, ancak boş öğeler olarak işaretlenmelidir.

Bu öğelerin herhangi bir içerik içermesi yasaktır. HTML'de, bu öğelerin yalnızca başlangıç ​​etiketi vardır . Kendi kendine kapanan etiketi sözdizimi kullanılabilir. Bitiş etiketi elemanı otomatik çözümleyici tarafından kapalı olduğundan ihmal edilmelidir.

HTML Örneği:
HTML sözdizimindeki bir boşluk öğesi. XHTML sözdiziminde buna izin verilmez.

<hr>

Örnek:
HTML ve XHTML uyumlu kendiliğinden kapanan etiket sözdizimini kullanan bir geçersiz öğe.

<hr/>

XHTML Örneği:
Açık uç etiketli, yalnızca XHTML sözdizimini kullanan geçersiz bir öğe. HTML sözdizimindeki geçersiz öğeler için buna izin verilmez.

<hr></hr>

22
Yani, cevap tercihen eğik çizgi ve boşluk olmadan kodlamaktır, ancak eğik çizgiye (boşluklu veya boşluksuz) sahip olmak isteğe bağlıdır?
Eikern

67
Şartnamenin özellikle bu noktada ("bu noktada ne istersen yap!)
Matt Ellen

42
İsteğe bağlı />olduğu için, okunabilirlik için iyi olduğu için daha fazlasını seviyorum .
BrunoLM

38
Kodlarımı okurken / yazarken mantıklı olmaktan ve mantıklı olmaktan başka hiçbir nedenden ötürü etiketlerimi açıkça kapatmayı seviyorum. HTML5 Referans Taslağının benimle aynı fikirde olmasından memnunum.
Sözdizimi Hatası

7
Bana oldukça özgü görünüyor. <br> ve <br /> yasal HTML5'tir.
William Denniss

135

XML, etiketlerin açık bırakılmasına izin vermez, bu nedenle <br>diğer ikisinden biraz daha kötü hale getirir . Diğer ikisi, <br/>eski tarayıcılarla uyumluluk için kabaca tercih edilen ikinci ( ) ile eşdeğerdir . Aslında, /uyumluluk uğruna daha önce boşluk tercih ediliyor, ancak bence sadece nitelikleri olan etiketler için mantıklı. Bu yüzden ya <br/>da <br />estetiğinizden hangisini memnun ederse söylerim .

Özetlemek gerekirse: her üçü de birincisi ( <br>) biraz daha az “taşınabilir” olacak şekilde geçerlidir.

Düzenleme : Şimdi özellikleri hakkında tüm deli olduğumuzu, bunun değerinde işaret dışarı düşünüyorum göre dev.w3.org :

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

  1. Bir "<" karakteri.
  2. Öğenin etiket adı.
  3. İsteğe bağlı olarak, her birinin önünde bir veya daha fazla boşluk karakteri olması gereken bir veya daha fazla özellik.
  4. İsteğe bağlı olarak, bir veya daha fazla boşluk karakteri.
  5. İsteğe bağlı olarak, yalnızca öğe geçersiz bir öğe olduğunda mevcut olabilecek bir "/" karakteri.
  6. Bir ">" karakteri.

17
HTML aslında XML değil, sadece oldukça yakın.
tloach

6
Evet, değil. Ama /burada ortak bir payda. HTML5 özellikle aşağıdakilerin kullanılmasına izin verir /: "İsteğe bağlı olarak, yalnızca öğe geçersiz bir öğe olduğunda kullanılabilen" / "karakteri".
Michael Krelin - hacker

4
helloworlder, HTML5 spesifikasyonunun XML uyumlu olmaya yakın olduğunu söyleyebilirim.
Michael Krelin - hacker

5
Ben sadece XML ve HTML ML işaretleme dili anlamına gelir eklemek istiyorum. Aralarında çok fazla çakışma olmasının nedeni, her ikisinin de orijinal olarak SGML (Standartlaştırılmış Genelleştirilmiş İşaretleme Dili) kullanılarak tanımlanmış olmalarıdır, ancak artık pek çok kişi bunu hatırlamamaktadır ...
John Vincent

4
Eğer ayrıştırma html sağlamak için normal ifadeler kullanıyorsanız @BennyNeugebauer, daha fazla veya daha az ;-) düzgün kapalı etiketleri yerine, şans güvenmek bırakılır
Michael Krelin - korsanı

104

In HTML (yukarı HTML 4 kadar) : Kullanım<br>

Olarak HTML 5 : <br>tercih edilir, ancak <br/>ve <br />aynı zamanda kabul edilebilir olduğu

Gelen XHTML : <br />tercih edilir. Ayrıca <br/>veya<br></br>

Notlar:

  • <br></br> HTML 5'te geçerli değilse, iki satır sonu olarak düşünülecektir.
  • 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/>ancak başarısız olur<br />

Referans:


Bağlantıyı kontrol etti, tercih edilen yaklaşım <br>, ancak nerede kabul edilemez diyor?
JackDev

4
Açıklığa kavuşturmak için, XML uyumlu sözdizimi <br/>ve <br />(bir SPACE ile) eşittir, ikisinin de tercihi yoktur. XML 1.0 teknik özelliklerine bakın . Boşluk (SPACE, sekme veya LINE FEED) öncesi />isteğe bağlıdır, tercih edilmez.
Basil Bourque

1
HTML5'te tercih edilen XML olmayan sözdizimi için bir referans gösterebilir misiniz? Bu benim için bir haber. Kesin XML uyumluluğu için isteğe bağlı destek, hatırladığım gibi HTML5'in kurucu bir hedefiydi. Belki whatwg.org'daki HTML ve XHTML belgesinde veya W3C Polyglot İşaretlemesi: W3C'deki HTML5 sözlüğünün sağlam bir profilini kaçırdım .
Basil Bourque

1
@BasilBourque Size başka bir yerde söylediklerimi tekrarlamak için. Etiketler ve öğeler için HTML5'teki gerçek özellikleri okuyun ve asla, bu etiketler için kapanış eğik çizgisi kullanmanız veya önermeniz için hiç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 kesme çizgisi KULLANMAYIN. Başka yerlerde, spec bir tane koyabileceğinizi söylüyor ama hiçbir şey ifade etmiyor, hiçbir şey yapmıyor ve tarayıcılara bunu görmezden gelmesi talimatı verildi. Yani anlamsız ve yararsızdır, tıpkı anlamsız ve işe yaramaz olarak kullanmaktır.
Rob

@ So So Bölüm 8.1.2.1. Başlangıç etiketler arasında Bölüm 8. HTML sözdizimi belgesinin, HTML 5.2 W3C Tavsiyesi 2017 14 Aralık W3C tarafından yayınlanan HTML gerçek belirtimi değil? Tavsiye lütfen.
Basil Bourque


27

<br />Aşağıdaki nedenlerle kullanmanızı tavsiye ederim :

1) XML sözdizimini farklı renklerde vurgulayan metin ve XML düzenleyicileri ile düzgün bir şekilde vurgulanır, <br />ancak bu her zaman böyle olmaz<br>

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

3) Bazı eski ayrıştırıcıları ve bazı kodlama özellikleri kapanış çizgiden önce alana ihtiyaç (yani: <br />yerine <br/>) bu tür WordPress Kodlama spec olarak: http://make.wordpress.org/core/handbook/coding-standards/html/

Deneyimlerime göre, <br />kullanımın sorunlu olduğu bir durumla hiç karşılaşmadım , ancak eski tarayıcılarda ve araçlarda <br/>özellikle <br>sorunlu veya özellikle sorunlu olabilecek birçok durum var .


1
İyi biçimlendirilmiş HTML XHTML değildir.
jmarkmurphy

1
XHTML tanımı gereği iyi biçimlendirilmiş bir HTML'dir. XHTML, XML kurallarına uyar, w3schools'a göre XML, belgelerin doğru şekilde işaretlenmesi ("iyi biçimlendirilmiş" olması gereken) bir biçimlendirme dilidir ... ... HTML ve XML'nin güçlü yanlarını birleştirerek XHTML geliştirildi. XHTML HTML olarak XML olarak yeniden tasarlanmıştır. " (bkz w3schools.com/html/html_xhtml.asp )
Kmeixner

2
HTML iyi oluşturulabilir, ancak geçerli XML olamaz. W3Schools her zaman en güvenilir referans değildir.
jmarkmurphy

1997'de aldığım web programlama üzerine üniversite bilgisayar bilimi dersinin profesörü de xhtml'nin iyi biçimlendirilmiş html olduğunu iddia etti. Bilgilerinizi nereden aldığınızdan emin değilim, talebinizi yedeklemek için çevrimiçi herhangi bir resmi kaynak gösterebilir misiniz?
Kmeixner

1
@jmarkmurphy, bence "iyi biçimlendirilmiş" teriminin, tüm etiketlerin kapanış etiketlerine sahip olması ve doğru sırada yuvalanması gerektiği XML ve XHTML standartlarına başvurmak için teknik bir jargon terimi olması konusunda bilginiz yoktur. . <hr> ve <br> XML ve XHTML gereksinimlerini karşılamıyor, çünkü kapatma etiketleri yok, örneğin: <br /> veya <br> </br> geçerli, <br> geçerli XHTML veya XML değil . HTML, elbette, iyi biçimlendirilmiş bir gereksinime sahip değildir, bu nedenle <br> ve <hr> yalnızca HTML'de geçerlidir.
Kmeixner

20

XML, tüm etiketlerin ilgili bir kapatma etiketine sahip olmasını gerektirir. Dolayısıyla, iç içeriği olmayan etiketler için özel bir kısa el sözdizimi vardır.

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

Örneğin, HTML5 spesifikasyonlarında , bretikete sahip tüm örnekler <br>sözdizimini kullanır , değil <br/>.

UPD Aslında <br/>edilir HTML5 izin . 9.1.2.1, 7.


2
"HTML5 XML değildir, bu nedenle böyle bir gereklilik oluşturmamalıdır." Bunun doğru olup olmadığı "HTML5" sözcüğünün yorumlanmasına bağlıdır. HTML5'ten dil olarak bahsedersek, bu ifade doğrudur. Bununla birlikte, HTML5'ten bir spesifikasyon olarak bahsedersek, bu ifade yanlıştır. HTML5 belirtimi "HTML ve XHTML için bir kelime haznesi ve ilişkili API'ler" tanımlar. Bunun biraz beceriksiz olduğunu biliyorum, bu cevabın yanlış olduğunu söylemiyorum, sadece okuyucu için ek bilgi veriyoruz.
Christian Hujer

14

Karşılaştırılabilirlik (uyumluluk değil, karşılaştırılabilirlik) ile ilgileniyorsanız, o zaman sadık kalacağım <br />.

Aksi takdirde, <br>iyidir.


1
Birisi bunu geri almalı. Anlam değişti.
Josiah

9
Karşılaştırılabilirlik ile kastedilen nedir? Anlamıyorum.
tuxayo

12

Hem <br>ve <br />HTML5'teki kabul edilebilir, ancak HTML ruhu içinde <br>kullanılmalıdır. HTML5, daha önce HTML 4.01 ve XHTML 1.0 olan belgelerle daha uyumlu olması için eğik çizgilerin kapanmasına izin vererek HTML5'e daha kolay geçiş sağlar. Tabii ki <br/>de kabul edilebilir, ancak bazı eski tarayıcılarla uyumlu olmak için, eğik çizgiden ( /) önce bir boşluk olmalıdır .


1
@ Knickerless-Noggins Bunu nereden okuduğunuzdan emin değilim, ama <br />mükemmel kabul edilebilir ve W3Schools HTML spesifikasyonu değil. Bkz HTML5 spec , açık bir şekilde "öğesi biri ise, daha sonra bildiren boş elemanların ya da elemanı, bir ise yabancı eleman , o zaman, bir olabilir / '(u + 002F) karakteri tek bir' . [Vurgulanıyor ] "
kevinji

Bu Yanıt, diğerleri gibi, HTML5'teki katı XML uyumluluğunun meşruiyetini yanlış bir şekilde küçümsüyor. XML desteği olan değil , geçici bir geçiş ya göç özelliği. XML uyumluluğunun isteğe bağlı desteği HTML5'in kuruluş hedeflerinden biriydi. HTML içerikleriyle çalışmak için XML araçlarını kullanan insanlar için hayati bir özelliktir.
Basil Bourque

12
  1. HTML'yi normal bir web sitesinde yayınlıyorsanız <br> veya kullanabilirsiniz <br/>, her ikisi de HTML5'i metin / html olarak sunduğunuz her zaman geçerlidir.

  2. (Bir XML bildirimi ile yani içerik türü application / xhtml + xml) XHTML olarak HTML5 hizmet vermekteyiz o zaman şöyle bir kendine kapanma etiketi kullanmanız gerekir: <br/>.

    Bunu yapmazsanız, bazı tarayıcılar sayfanızı oluşturmayı reddedebilir (özellikle Firefox yalnızca geçerli xhtml + xml sayfalarını oluşturma konusunda çok katıdır).

    1.'de belirtildiği <br/>gibi, XML olarak oluşturulan ancak XML bildirimi olmadan normal bir metin / html olarak sunulan HTML5 için de geçerlidir (örneğin, web sayfaları üreten bir XSL Dönüşümü veya benzer bir şey gibi).

Karışıklığı gidermek için: HTML5'te eğik çizgiden önce boşluk bırakmak gerekmez ve sayfanın nasıl oluşturulduğu konusunda herhangi bir fark yaratmaz (eğer birisi bir örnek gösterebilirse bunu geri çekerim, ancak buna inanmıyorum) true - ancak IE kesinlikle tüm <br>etiket formları ile birçok garip şey yapar ).

Mükemmel doğrulayıcı http://validator.w3.org (ben değilim rağmen emin de içerik türü kontrol etmek güvenebilirsiniz) geçerli neler kontrol için gerçekten yararlıdır.


bekleyin, metin / html mimetype katı XML mi?
Mart'ta amwinter

1
Metin / html kullanılıyorsa bunu bir XML bildirimi ile sunmamalısınız, ancak içerik başka şekilde geçerli bir XML olabilir (örneğin, XML çıktısı veren, XSLT çıktısı gibi bir şeyden veya XML'ye serileştirilmiş bir nesne).
Iain Collins

Hala anlamadım: Metin / html'de bir varsa <br />, ne zaman kapatılmamalıyım <br>?
Mart'ta amwinter

1
Maalesef, metin / html yoluyla varsa, her ikisi de HTML5 için teknik olarak geçerlidir. Bunu validator.w3.org adresindeki (çoğunlukla) müthiş doğrulayıcıyla doğrulayabilirsiniz . Yukarıdaki ifadelerim kötü, şimdi görüyorum, onu düzenleyeceğim.
Iain Collins

3
Ben beğenmedim Netscape Navigator 3 veya 4 olduğunu düşünüyorum <br/>, kesinlikle bu gün ve yaş hakkında endişelenecek bir şey yok.
robertc

12

Hem <br>ve <br/>cezası yapmak ama tercih edecektir <br/>biraz daha mantıklı çünkü. Bir açılış etiketi olduğunda kapanış etiketi beklemek mantıklıdır. Bu nedenle, kapanış etiketi olmayacakken açılış etiketi kullanmazsanız kodunuzun okunması biraz daha kolaydır.

Tüm tarayıcılar (muhtemelen önemli olmayan bazı çok eski tarayıcılar hariç) her ikisini de aynı şekilde görüntüler. Ancak, <br>xHTML uyumlu değildir.


7

<br>ve <br/>farklı render. Bazı tarayıcılar iki satır sonu <br/>olarak yorumlanır <br></br>ve eklenir


12
Ne? Hangi tarayıcıları biliyor musunuz?
Eikern

7
Yani ie5 / ns4 dönemi tarayıcılarını test ederken buldum. Doğru hatırlamıyorsam standart uyumluluk modundaydı. Ama çok uzun zaman önceydi ...
Samuel

3
Sıkı HTML4 tarayıcıları için (pratik olarak sadece HTML4 doğrulayıcısıdır) <br />anlamına gelir <br>&gt;.
Konrad Borowski

7

<br>yeterlidir, ancak XHTML'de WHATWG'ye ve W3C'ye göre<br /> tercih edilir .

Alıntı Bölüm 8.1.2.1 arasında 2017, 14 Aralık HTML 5.2 W3C Tavsiye

Başlangıç ​​etiketleri şu biçimde olmalıdır:

...

  1. Özelliklerden sonra veya hiçbir özellik yoksa etiket adından sonra bir veya daha fazla boşluk karakteri olabilir. (Bazı özelliklerin ardından bir boşluk bırakılması gerekir. Bkz. Aşağıdaki §8.1.2.3 Özellikler.)

  2. Sonra, eleman geçersiz elemanlardan biriyse veya eleman yabancı bir elemansa, tek bir U + 002F SOLIDUS karakteri (/) olabilir. Bu karakterin geçersiz elemanlar üzerinde hiçbir etkisi yoktur, ancak yabancı elemanlar üzerinde başlangıç ​​etiketini kendi kendine kapanır olarak işaretler.

Dreamweaver CS6 kullanırsanız, otomatik olarak tamamlanır <br />.

HTML dosyanızı W3C'de doğrulamak için bkz. Http://validator.w3.org/


@ Julix Gerçekten de, neden aşağı oylar? Bu, bu sayfadaki birkaç doğru Yanıttan biridir. HTML5 kesinlikle XML uyumludur, isteğe bağlı olarak ve XML sözdiziminde, tek bir etiket eğik çizgi ile kapatılmalıdır. Spesifikasyonda siyah beyaz yazıldığında bu basit gerçekler nasıl bu kadar yanlış yorumlanabilir ?
Basil Bourque

5

Bu sorunun doğrulanmasında, gerçekten !DOCTYPEdoğrulama almaya çalıştığınıza bağlıdır .

Benim kişisel favorim 4.01 Transsadece kullandığım yer <br/>ve doğrulama sırasında ortaya çıkmış olabilecek uyarıları ve hataları siler

Sıkı çok daha karmaşık bir canavar, NEFRET EDİYOR "SHORTTAGS"ve tam anlamıyla sadece<br></br>

Gelen HTML5veya kod dünyasının "LAX", gerçekten çünkü bir doğru cevap yoktur detects every example you put uporada doğru olarak ......

Sonunda, bence önemli olan is what validation YOU PREFERya da the person that you are working for prefers... lackadaisicalkod katılığındaki hareketle html5bazı ÇOK TEMİZ KODLAR görüyoruz


4

IMHO <br />yerine normal gösterimi ( ) kullanmak daha iyidir<br> , aşağıdaki nedenlerden dolayı affedici gösterim ( ) :

Tutarlılık

HTML'nizde muhtemelen bazı SVG ve SVG yalnızca normal gösterimi destekler (ör. <rect /> ).

Hackability

React ve NativeScript gibi çerçevelerin XML gösterimi kullanması bir durum değildir .
İşaretleme kodunuzu ayrıştırmak daha kolay olacaktır.

berraklık

Düzenli gösterimi, gece geç saatlerde bile okumak ve anlamak daha kolaydır.

Özellikler

Her ikisi de <br>ve <br />geçerli HTML etiketleridir.

Sonuç

Tam teşekküllü bir metin düzenleyicisi kullanıyorsanız, bunu normal gösterimi ( Emmet tarafından XHTML olarak adlandırılır ) kullanacak şekilde yapılandırın .
Örneğin, Visual Studio Code'da ayarlarınıza aşağıdaki satırı eklemeniz yeterlidir:

"emmet.syntaxProfiles": {"html": "xhtml"}

1
Açıkçası, her ikisi de kısa gösterimlerdir: sırasıyla HTML kısa gösterimi ve XML kısa gösterimi. Tüm gösterim şu <br></br>şekildedir ve X (HT) ML'de geçerlidir, ancak HTML'de geçerli değildir.
Ilya Streltsyn

1
HTML5 <br> tanıtmadı. Her zaman HTML biçimindedir. XHTML <br/> tanıtıldı
jmarkmurphy

1
Bunun tarihine düzgün bir şekilde girmek için SGML'yi derinlemesine araştırmanız gerekir.
Michael Kay

3

Bütün bildiğim şu <br /> beyaz çizgiyle <br>mola vermek ve bazı durumlarda sadece mola vermek. Bir IPN-betiği (PHP) kurarken postaları gönderip gelen kutusunu kontrol ederken bu bana oldu. Neden bilmiyorum ama sadece ikisini kullanarak düzgün görünmesi için mesaj aldım<br /> and <br>

Buradaki postaya bir göz atın: http://snag.gy/cLxUa.jpg

Metnin ilk iki bölümü <br />, beyaz boşluk satırları, altta son üç metin satırı ve son bölüm birbirinden ayrılır <br>ve yeni satır verir.


3
Bu hangi tarayıcıydı?
Dave Burton


2

Diğerleri de bahsedildiği gibi hem <br>ve <br/>kabul edilebilirdir.

Bence ödünleşim, <br/>son kullanıcılara daha az karakter göndermeye karşı daha iyi okunabilirlik ve geriye dönük uyumluluktur <br>.

Ve bu yana Google kullanan <br>irade I. böylece

(Tabii ki bana hizmet ediyor olabileceğini unutmayın <br>çünkü Chrome'u desteklediklerini bildiğim için kullanıyorum. IE'de hala hizmet veriyor olabilirler <br/>)


2

<br>gayet iyi çalışıyor. XHTML gibi sıkı versiyonları Bir içermeyen kapanış ve HTML gerçekten eski sürümlerini eklemek gerektiren DOCTYPEyapmak <br>gibi olmayan bir boşluk etiketi <br></br>.

Özetle: <br>sorun yok. Diğerleri de gayet iyi.


2

Gelen HTML5 çizgi artık gerekli değildir: <br>,<hr>


Eğik çizgi hiçbir zaman gerekli olmamıştır ve hiçbir HTML spesifikasyonunda belirtilmemiş ve hatta spesifikasyonda örnek olarak kullanılmamıştır.
Rob

1
Eğer nereden bilmiyorum @Rob sizin HTML spesifikasyonları, ama benim WHATWG ve W3C kuruluşlardan olsun. Her ikisi de katı XML uyumluluğunu HTML5'in isteğe bağlı bir özelliği olarak açıkça tanımlayan özellikler yayınlar. Bu özellikle ile tek etiketlerin kapatılmasını içerir />. Bkz. Bölüm 8.1.2.1 ve 2 . Ve bakınız XHTML vs HTML whatwg.org dokümanın ve HTML5 kelime sağlam profil: W3C Polyglot İşaretleme W3C.
Basil Bourque

@BasilBourque Lütfen HTML'deki bu etiketlerin tam özelliklerini okuyun ve burada konu olmayan XML veya XHTML'yi getirmeyin. Kapanış eğik çizgisinin kullanıldığı, gerekli veya hatta önerildiği İnternet geçmişinde HTML için herhangi bir spesifikasyonda hiçbir yazılı ifade veya örnek bulamazsınız.
Rob

1
@Rob yapabileceğim tek şey tekrarlamak: W3C HTML 5.2 adlı bir belgeyi yayınladı burada Bölüm 8.1.2.1. Başlangıç ​​etiketleri açıkça # 6 numaralı bölümde eğik çizgi veya eğik çizgi bulunan bir etiketin geçerli olduğunu söylüyor: Ardından, öğe geçersiz öğelerden biriyse veya öğe yabancı bir öğeyse, tek bir U olabilir + 002F SOLIDUS karakteri (/). Bu karakterin geçersiz elemanlar üzerinde hiçbir etkisi yoktur, ancak yabancı elemanlar üzerinde başlangıç ​​etiketini kendi kendine kapanır olarak işaretler. Bağlantı verdiğim diğer belgeler HTML5'inizi XML olarak ifade ederseniz, eğik çizgi gerektiğini belirtir.
Basil Bourque

1
@BasilBourque Hiç geçerli olmadığını söylemedim. Bunun bir anlamı olmadığını ve sizin, kendiniz alıntıladığınız gibi bir amaca hizmet etmediğini söyledim. Ve yine, XML'i HTML'de kullanmak için bir gerekçe olarak gündeme getiriyorsunuz. Bunu yapma! Aynı şey değiller! HTML ayrıştırıcısının XML içeriğini yorumlaması gerektiğinde buna "etiket çorbası" diyoruz.
Rob

2

HTML'deki vakaların çoğu, etiketler çifttir. Ancak satır sonu için bir çift etikete ihtiyacınız yoktur. Bu nedenle, bunu belirtmek için HTML <br/>biçimi kullanır . <br/>doğru olanıdır. Bu biçimi kullanın.

<br>etiketi HTML'de bitiş etiketi içermiyor XHTML'de <br>etiket şu şekilde düzgün bir şekilde kapatılmalıdır:<br />

XML'de her etiket kapatılmalıdır. XHTML bir XML uzantısıdır, bu nedenle geçerli XHTML için tüm XML kurallarına uyulmalıdır. Bu nedenle, boş etiketler (alt düğümleri olmayan düğümler)
bile kapatılmalıdır. XML, boş düğümler için kendiliğinden kapanan etiketler adı verilen kısa bir forma sahiptir. Yazabilirsiniz <br></br> as <br />. Bu nedenle XHTML'de <br />kullanılır.

HTML bu konuda çok yumuşaktır ve böyle bir kural yoktur. HTML'de <br> <hr> <meta>vb gibi boş düğümler , eğik çizgi olmadan yazılır.

HTML

<br>
<hr>
<meta name="keywords" content="">
<link rel="canonical" href="http://www.google.com/">

XHTML

<br />
<hr />
<meta name="keywords" content="" />
<link rel="canonical" href="http://www.google.com/" />

Tüm etiketler kendi kendine kapatılamaz. Örneğin, <script src="jQuery.min.js" />XHTML DTD tarafından benzeri bir etikete izin verilmez.


1

Ummm ..... W3C Spesifikasyonları% 100'ü takip eden bir TEK satıcı, kullanıcı aracısı veya tarayıcı üreticisi biliyor mu ??? HTML5, üç break element versiyonunu da desteklediğini söylüyorsa, satıcıların aynı ve daha da sloppier versiyonlarını desteklediğinden emin olabilirsiniz!

Bu tartışmada önemli olan tek şey, Mümkün olduğunca XML spesifikasyonlarının yanı sıra HTML spesifikasyonlarını da takip eden kodlamayı sürekli olarak kullanmaktır. Bu, break etiketinin doğru XML sürümünü kullanmanız ve tüm ekibinizi aynı şeyi yapmaya teşvik etmeniz gerektiği anlamına gelir:

<br />

Kodunuzdaki img, a, hr ve meta etiketler için aynı boşluk eğik çizgi biçimi uygulanmalıdır. Neden? Çünkü:

  1. Eski XHTML kullanıcı aracıları / tarayıcıları ile geriye doğru uyumludur
  2. Tarayıcı satıcıları yine de XML sürümünü destekler, böylece HTML5 özelliği tartışmalıdır.
  3. Günümüzde, geçmişte ve gelecekte çoğu kullanıcı aracısının özensiz uygulamaları bunu kabul edecektir.
  4. İşaretlemenizden XHTML / XML belgeleri oluşturmaya geri dönmeniz gerektiğinde işaretlemenizin XML standartlarıyla karşılaştırılabilir olmasını sağlar.
  5. TÜM WEB GELİŞTİRİCİLERİN, tüm küçük harflerle kodlanan, alıntılanan öznitelikler, kaçan XML karakterleri vb. Gibi XML'yi izleyen katı biçimlendirme uygulamalarını kullanmaya devam etmesi "iyi kodlama uygulaması" dır. Neden? Gelecekte XML verilerine geçmek zorunda kalırsanız, otomatik olarak kodlar ve XML'de düşünürsünüz.
  6. Yalnızca gelecekteki World Wide Web'de, özel satıcı tarafından uygulanan standartlardan uzaklaşacağımızı ve daha hızlı ayrışan, verileri kablolar üzerinde daha hızlı hareket eden sağlam ve güvenilir, doğrulanmış işaretlemeye geri döneceğimizi ve gelecekteki İnternetimizi daha standart hale getireceğimizi umabiliriz. XML kullanarak ortam.

Ayrıca, robotların aynı İnsan arabirimi kodlama sorunlarına sahip olmadığı robotik ve makine dünyasında HTML5'in bizim için çözdüğü memnuniyetle, XML veri sistemlerine geri dönecek ve bu UI web sayfalarını XML'ye dönüştürüldüğünde çok daha hızlı ayrıştıracaklar veri.


1

Her iki <br>ve <br/>eserleri ancak HTML 5 de çok kolay ilk sözdizimi destekleyen çünkü ikincisini kullanmanın gerek yoktur


0


HTML5'te gayet iyi çalışıyor. HTML5, XHTML'den biraz daha fazla boşluğa izin verir



-3

<br>ve <br />bazı tarayıcılarda farklı oluşturma, bu yüzden diğerinden birini seçmek projenize zarar vermez, ancak toplu bir arama beklemeyin .. bazı tarayıcılarda sayfa oluşturmayı etkilemek için değiştirin, bu da kendiniz için fazladan çalışmaya neden olabilir ve hatta Değişiklik test tarayıcınızda hiçbir şeyi etkilemezse, ancak müşterilerinizin tercih ettiği tarayıcıda kırın.

<br>Erwise ve Netscape Navigator'dan (erken web tarayıcıları) beri kullandığım şey olduğu için tercih ederim , ancak <br />bunun yerine seçmemek için bir neden yok . Bazı ön işleme, karşılaştırılabilirlik vb. İçin yararlı olabilir.

Seçiminiz bir diğerinin görünümünü tercih etmek için kaybolsa da, siz (veya favori HTML düzenleyiciniz örn. Dreamweaver) kodunuzun xml uyumlu olmasını isteyebilirsiniz. Sana kalmış.

Hızlı bir not:

Karıştırılmamalısınız br, ancak wbrHTML'nizdeki etiketleri de kullanmayı düşünebilirsiniz : Metinde satır sonu eklemenin uygun olacağını belirten bir kelime sonu fırsat etiketi.

Daha fazla okuma için lütfen HTML5 spesifikasyonunu okuyun .


5
Bkz HTML5 spec , açık bir şekilde "öğesi biri ise, daha sonra bildiren boş elemanların ya da elemanı, bir ise yabancı eleman , o zaman, bir olabilir / '(u + 002F) karakteri tek bir' . [Vurgulanıyor ] " <br>, elbette, alıntıdaki bağlantıda görebileceğiniz gibi geçersiz bir öğedir.
kevinji

-4

Bitiş etiketi olmayan öğelere boş etiket denir. Html 4 ve html 5'te, bitiş etiketleri gerekli değildir ve atlanabilir.

Xhtml'de etiketler çok katıdır. Bu, başlangıç ​​etiketi ile başlamalı ve bitiş etiketi ile bitmelidir.


1
Yanlış. Tek bir etiket HTML5'te başlangıç-bitiş etiket çifti kadar geçerlidir. HTML 5.2 spesifikasyonuna bakın .
Basil Bourque
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.