2012-10-08 11 views
15

Czy w dzisiejszych czasach w HTML5 i CSS3 użyto tagów <br>, gdy marszczy się/padding?Pod względem stylu: <br> lub dopełnienia/elementów marginesowych

EDIT: To jest w odniesieniu do odstępów między elementami div dla mojego przypadku użycia, ale powszechna praktyka doradzić najlepiej jest również mile widziane.

+0

Generalnie sugeruję, aby nie używać tagów '
'. – Shmiddty

+1

Jeśli nie jest to czysta stylistyka (na przykład oddzielenie myśli), możesz szukać '


' z niestandardową stylizacją (przezroczyste, z 'wysokością' lub 'marginesem 'dla odstępów). – 0b10011

Odpowiedz

28

są faktycznie dość dobrze zdefiniowane reguły wokół jego użytkowania, nawiązująca do czasów HTML 2.0 kiedy to wprowadzono po raz pierwszy:

Element <BR> określa podział wiersza między słowami (patrz punkt 6. „Postacie , Słowa i akapity "). Na przykład:

<P> Pease porridge hot<BR> 
Pease porridge cold<BR> 
Pease porridge in the pot<BR> 
Nine days old. 

Element <br> sam nigdy nie miał być używany do sterowania margines/dopełnienie. Mimo że wprowadzili prezentacyjny atrybut clear do HTML 3.2, który obsługuje takie elementy, jak obrazy pływające, został wkrótce wycofany w HTML 4 i XHTML 1 na rzecz CSS. To było prawie 15 lat temu, więc to naprawdę nic nowego.

W HTML5, zrobili to o wiele wyraźniej, że <br> nie jest przeznaczony do prezentacji lub układ z przykładami (i the clear attribute is obsolete):

br elementy muszą być wykorzystywane jedynie do podziałów wierszy, które są faktycznie część treści, jak w wierszach lub adresach.

Poniższy przykład jest prawidłowe użycie elementu br:

<p>P. Sherman<br> 
42 Wallaby Way<br> 
Sydney</p> 

br elementy nie mogą być stosowane do oddzielania grup tematycznych w akapicie.

następujących przykładach są niezgodne, jak nadużywanie element br:

<p><a ...>34 comments.</a><br> 
<a ...>Add a comment.</a></p> 
<p><label>Name: <input name="name"></label><br> 
<label>Address: <input name="address"></label></p> 

tutaj są alternatywy dla wyżej, które były:

<p><a ...>34 comments.</a></p> 
<p><a ...>Add a comment.</a></p> 

<p><label>Name: <input name="name"></label></p> 
<p><label>Address: <input name="address"></label></p> 

Używanie <br> zamiast marginesów CSS do celów układowych było zawsze mile widziane, w najmniej przez ludzi, którzy napisali specyfikacje.

+4

The [specyfikacja dla HTML 5] (http://www.w3.org/TR/html5/the-br-element.html # the-br-element) jest dużo bardziej pouczający niż odniesienie do języka: * br elementy muszą być używane tylko dla podziałów linii, które są częścią treści, jak w wierszach lub adresach. * – Quentin

+0

@Quentin: Dzięki za link . Specyfikacja HTML5 była z jakiegoś powodu koszmarem nawigacyjnym i nie mogłem znaleźć tej sekcji. Zaktualizuję moją odpowiedź. – BoltClock

+0

Korzystanie z
jest dla mnie prostsze i czystsze. Czy ktokolwiek może wyjaśnić, jaki może to spowodować? –

0

Zależy od tego, czy chcesz pracować z linią wysokości, czy marginesem/dopełnieniem.

+7

Jeśli używasz linii wysokości, aby uzyskać efekt marginesu, prawdopodobnie robisz to źle. –

Powiązane problemy