A volte è male usare <BR />?


157

A volte è male usare i <BR/>tag?

Lo chiedo perché alcuni dei primi consigli che il mio team di sviluppo mi ha dato è stato questo: non usare <BR/>; invece usa gli stili. Ma perché? Ci sono risultati negativi quando si usano i <BR/>tag?


10
Il modo migliore per trovare la risposta migliore è andare al tuo team di sviluppo e chiedere loro PERCHÉ?
Azamsharp,

48
È all'improvviso la cosa sbagliata da fare per cercare di ottenere una risposta da StackOverflow piuttosto che dai membri del team?
Nosredna,

7
No, è solo qualcuno che gli ha dato una risposta soggettiva e ci sta chiedendo di indovinare il ragionamento alla base ... Vai e chiedi alla persona che ti ha dato la risposta soggettiva, specialmente se si trovano nelle vicinanze (nello stesso team di sviluppo)
Gabriel Magana,

8
Di solito il "primo consiglio" arriva quando il dipendente è nuovo. Un nuovo dipendente non ha sempre voglia di chiedere "perché?" Ovviamente, ci sono momenti in cui è meglio chiedere il perché, ma penso che Burak Ozdogan probabilmente capisca il "perché" dopo aver letto queste domande. O almeno capisce cosa la comunità HTML in grandi cose sull'argomento abbastanza bene per discuterne. Direi che ha fatto la mossa giusta venendo qui per chiedere.
Nosredna,

5
Comprendo che i tuoi consigli e il tipo di te sono corretti. Ma il fatto è che quando entri in una nuova squadra, tanti input ottieni in breve tempo. E alcuni di loro sono appena menzionati; come un dettaglio tra parentesi. Volevo chiederlo qui per due motivi: ottenere una risposta e vedere opinioni diverse su come affrontarlo. grazie ragazzi!
pencilCake

Risposte:


173

Il motivo principale per cui non si utilizza <br>è che non è semantico . Se vuoi due elementi in diversi blocchi visivi, probabilmente li vuoi in diversi blocchi logici.

Nella maggior parte dei casi ciò significa semplicemente utilizzare elementi diversi, ad esempio <p>Stuff</p><p>Other stuff</p>, e quindi utilizzare CSS per distanziare correttamente i blocchi.

Ci sono casi in cui <br>è semanticamente valido, cioè casi in cui l'interruzione di linea fa parte dei dati che stai inviando. Questo è davvero limitato a 2 casi d'uso: indirizzi di poesia e di posta.


38
Personalmente, preferirei usare <pre/>per la poesia. In questo modo, si specifica esplicitamente che l'intenzione è quella di mantenere la composizione originale, comprese le possibili rientranze.
Michał Górny,

6
@ MichałGórny solleva un buon punto - <br>s sembrano essere appropriati solo quando si applicano tutte le seguenti condizioni: 1. I newline sono semanticamente significativi, 2. Il rientro non è semanticamente significativo (altrimenti dovresti usare un <pre>, 3. Non esiste nessun altro semanticamente appropriato . tag, come un tag di paragrafo o di intestazione indirizzi postali soddisfano tutte e tre queste condizioni, e testi delle canzoni in modo da fare la poesia potesse plausibilmente violare il 'rientro non è significativo' stato, e così potrebbe essere in una posizione migliore in una. <pre>.
Mark Amery

2
Che dire dell'utilizzo <br />nella firma di un'e-mail, come ad esempio: <footer>Sincerely,<br />StrexCorp</footer> Opinioni?
JHS,

109

Penso che il tuo team di sviluppo si riferisca al <br />posto della spaziatura dei margini. Per creare uno spazio vuoto tra gli elementi, utilizzare lo stile di riempimento / margine tramite CSS.

Cattivo utilizzo di <br />:

<div>
   Content
</div>
<br />
<br />
<br />
<br />
<div>
     More content...
</div>

Buon uso di <br />:

<style>
     div {
          margin-top:10px;
     }
</style>

<div>
   Content<br />
   Line break
</div>

<div>
     More content...
</div>

4
Non puoi semplicemente rimuovere i tuoi <br> e aggiungere CSS, perché se hai rimosso i tuoi <br> non c'è nulla da modellare. Non è incredibilmente utile dire "rimuovi le interruzioni di riga" senza aiutare (letteralmente) a riempire gli spazi vuoti
Gareth,

7
Hai ragione, iamkoa, ma questo non spiega il perché . Quindi non risponde alla domanda. 24 voti sembrano un po 'troppo.
Corse della leggerezza in orbita

@iamkoa Non stai spiegando perché .
Fabian Picone,

Penso che la seconda opzione sia migliore perché è più pulita e più semplice Penso che non sia necessario usare br
simon

26

Generalmente, <br/>è un'indicazione di HTML semantico scarso. Il caso più comune sta usando <br/>per dichiarare le separazioni di paragrafo, che ci sono modi molto migliori per farlo semanticamente. Vedi Bed and BReakfast .

Ci sono occasioni in cui è il tag giusto da usare, ma è abusato abbastanza spesso che le persone adottano una mentalità "non usare" per forzare un migliore pensiero semantico.


13

Quello che intendeva dire la tua squadra era probabilmente di non usare <br> per dividere i paragrafi.

<p>I am a paragraph</p>
<p>I am a second paragraph</p>

è il modo migliore per farlo, perché è quindi possibile regolare facilmente gli spazi tra i paragrafi tramite CSS. A parte questo, non riesco a pensare a nulla che parli di nuovo a interruzioni di linea in quanto tali.


9

Lo stesso concetto si applica al motivo per cui non utilizziamo le tabelle per il layout: utilizzare le tabelle per le tabelle e CSS per il layout.

Utilizzare <br/>per le linee di interruzione in un blocco di testo e CSS se si desidera influire sul layout.


4

La specifica diretta del layout rende difficile ad esempio l'adattamento del sito a dimensioni di pagina o caratteri diversi.


2

Generalmente imposterò sempre i margini e il riempimento appropriati sugli elementi usando i CSS - è molto meno disordinato di un sacco di <br />s in tutto il luogo oltre ad essere più semanticamente corretto.

Probabilmente l'unica volta in cui preferirei una <br />preferenza ai margini e all'imbottitura impostati dai CSS, anche se non è strettamente tecnicamente corretto, è se si trattasse di un incidente isolato in cui era necessario leggermente più spazio. Se avessi avuto piuttosto una grande foglio di stile e non mi sembra impostazione del valore massimo uno stile aggiuntivo solo per questo un avvenimento, io possa utilizzare un <br />come un one-off.

Come la maggior parte delle cose, <br />non sono una cosa negativa a condizione che vengano utilizzati correttamente.


1

Provo a scrivere il mio markup in modo che sia facilmente leggibile con CSS disabilitato. Se stai solo usando BR per aggiungere la spaziatura, è meglio usare i margini e il riempimento.


1

<br />deve essere utilizzato solo per le interruzioni di riga e non per applicare lo stile a una pagina. Ad esempio, se hai bisogno di spazio extra tra i paragrafi, dai loro una classe e applica il riempimento extra ai paragrafi. Non distribuire i tuoi paragrafi con<br /><br ><br />


1

Devono essere usati per rappresentare le nuove linee. Niente di più. Non riempire lo spazio come nel sito medio di geocities. Vi è tuttavia solo un caso in cui possono essere utili per scopi diversi da quelli di mettere una nuova riga: eliminare i galleggianti.

<br style="clear: both;">

1
Sebbene utilizzato, questo metodo non è XHTML valido.
iamkoa,

2
Spesso puoi aggirare questo "hack" usando overflow:autoinvece l'elemento contenente.
mpen

2
@iamkoa: non uso XHTML. HTML è HTML, non XML.
BalusC,

1

Non usare tre o più <br>s consecutivi , è un segnale che li stai usando per scopi stilistici e no, non dovresti.

Alcuni direbbero che un singolo <br>è abbastanza e invece di due che dovresti usare <p></p>, ma ci sono situazioni (ad esempio sceneggiature) in cui vuoi introdurre una pausa più lunga senza implicare un cambio di argomento o un nuovo periodo di inizio, come fa di solito un paragrafo.


0

Stanno bene, se usati in modo appropriato. Ad esempio, non dovresti usarli al posto dei <p>tag o per creare una spaziatura tra gli elementi. Probabilmente stai sbagliando qualcosa se ne hai mai due di fila.


0

Se lo fai: <BR/> <BR/>

Otterrai un layout diverso su diversi browser.

Più profondo:
se lo usi <BR/>solo per le interruzioni di riga, ok.
Se lo usi <BR/>come distanziatore di linea, non va bene.


0

Ecco un esempio di come <br>può influire negativamente sullo stile (esegui snippet per elementi visivi)

(notare il pulsante disallineato e lo spazio dispari a destra):

button {
  width: 70px;
  height: 70px;
}
#arrows {
  border: solid thin red;
  display: inline-block;
}
#arrows span:first-of-type { 
  text-align: center; 
  display: block;
}
#moveUp {
  margin: 0;
}
/* In the current case instead of <br> use display */
/*
#arrows span:last-of-type { 
  display: block;
}
*/
<div id="arrows">
  <span>
    <button id="moveUp" value="üles">&uarr;</button> 
  </span>
  <button id="moveLeft" value="vasakule">&larr;</button> 
  <button id="moveDown" value="alla">&darr;</button> 
  <button id="moveRight" value="paremale">&rarr;</button> 
  <br>    <!-- note the shifted button and odd space on right -->
  <span>or move with keyboard arrows</span>
</div>


-2

In HTML (fino a HTML 4): uso <br>
in HTML 5: <br> è preferito, ma <br/>ed <br />è anche accettabile
in Valid: <br /> è preferito. Può anche usare <br/>o<br></br>

Quindi l'uso del <br>tag è un codice HTML perfettamente valido. Ma l'uso di <br>non è raccomandato?

Il motivo principale per cui non utilizzare <br>è perché non è un tag semantico e non contiene contenuti. Il suo uso può essere evitato come,

<p>some<br>text<p>

può essere marcato senza <br>as

 <p>some</p>
 <p>text<p>

Se stai usando <br>altri scopi come top-spacing ecc. Che possono essere raggiunti tramite la marginproprietà CSS .


1
Nota che usando <p> aggiungerai un margine di ~ 16px in alto e in basso. Imposta ciascuno dei margini del tag <p> su 0px per evitare di spaziare le linee usando più altezza di quanto dovrebbero.
Satbir Kira,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.