Чи іноді погано використовувати <BR />?


157

Чи іноді погано використовувати <BR/>теги?

Я прошу, бо однією з перших порад, яку мені дала команда розробників, була така: Не використовуйте <BR/>; натомість використовуйте стилі. Але чому? Чи є негативні результати при використанні <BR/>тегів?


10
Найкращий спосіб знайти найкращу відповідь - перейти до своєї команди розробників і запитати їх ЧОМУ?
азамшарп

47
Чи раптом це неправильно зробити, щоб спробувати отримати відповідь із StackOverflow, а не з членів команди?
Носредна

7
Ні, це просто хтось дав йому суб'єктивну відповідь, і він просить нас відгадати міркування, що стоять за ним ... Просто піди і запитай у людини, яка дала тобі суб'єктивну відповідь, особливо якщо вони поруч (у тій же команді розробників)
Габріель Magana

8
Зазвичай "перша порада" приходить, коли працівник новий. Новий працівник не завжди відчуває, як запитати "чому?" Очевидно, бувають випадки, коли найкраще запитати чому, але я думаю, що Бурак Оздоган, напевно, розуміє "чому" після прочитання цих питань. Або, принаймні, розуміє, що HTML спільнота в значній мірі щодо теми досить добре, щоб обговорити її. Я б сказав, що він зробив правильний хід, приїжджаючи сюди, щоб попросити.
Носредна

5
Я розумію, що ваші поради та вид ви правильні. Але справа в тому, що ви входите в нову команду, стільки входів ви отримуєте за короткий час. А деякі з них лише згадуються; як деталь, подана в дужках. Мені хотілося запитати його з двох причин: Отримати відповідь і побачити різні думки, як підійти до неї. спасибі, хлопці!
pencilCake

Відповіді:


173

Основна причина невикористання <br>- це не семантична . Якщо ви хочете два елементи в різних візуальних блоках, ви, ймовірно, хочете їх у різних логічних блоках.

У більшості випадків це, наприклад <p>Stuff</p><p>Other stuff</p>, просто використання різних елементів , а потім використання CSS для правильного розміщення блоків.

Бувають випадки, коли <br>семантично дійсні, тобто випадки, коли розрив рядка є частиною даних, які ви надсилаєте. Це дійсно обмежується лише двома випадками використання - поетичними та поштовими адресами.


38
Особисто я вважав за краще використовувати <pre/>для поезії. Таким чином, ви чітко вказуєте, що метою є збереження початкової композиції, включаючи можливі відступи.
Michał Górny

6
@ MichałGórny піднімає гарну точку - <br>здається, підходящою є лише тоді, коли застосовуються всі наступні умови: 1. Нові рядки мають семантичний зміст, 2. Відступ не має семантичного значення (інакше слід використовувати <pre>, 3. Немає інших семантично відповідних тег, як тег абзацу чи заголовка. Адреси розсилки задовольняють усі три ці умови, а також пісні пісень. Поезія правдоподібно може порушити умову "відступ не має сенсу", і тому може бути краще розміщено в <pre>.
Марк Амери

2
Що з використанням <br />у підписі електронного листа, наприклад: <footer>Sincerely,<br />StrexCorp</footer> Думки?
JHS

109

Я думаю, що ваша команда розробників планує <br />замість відриву між полями. Щоб зробити порожній простір між елементами, використовуйте стилістику накладки / поля через CSS.

Погане використання <br />:

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

Гарне використання <br />:

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

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

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

4
Ви не можете просто видалити ваш <br> s і додати CSS, тому що якщо ви видалили ваш <br> s немає нічого , щоб стиль. Неймовірно корисно сказати "видалити перерви у рядку", не допомагаючи (буквально) заповнювати пробіли
Гарет

7
Ти маєш рацію, ямкоа, але це не пояснює, чому . Отже, це не дає відповіді на питання. 24 оновлення здається небагато.
Гонки легкості по орбіті

@iamkoa Ви не пояснюєте, чому .
Fabian Picone

Я думаю, що другий варіант кращий, оскільки він
simon

26

Як правило, <br/>це вказівка ​​на поганий семантичний HTML. Найпоширеніший випадок - <br/>це оголосити розділення абзаців, що є набагато кращими способами зробити це семантично. Див. Ліжко та BReakfast .

Бувають випадки, коли це правильний тег для використання, але його зловживають досить часто, щоб люди сприйняли менталітет "не використовувати", щоб змусити краще семантичне мислення.


13

Те, що мали на увазі ваша команда, ймовірно, не було використовувати s s для поділу між абзацами.

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

це кращий спосіб зробити це, тому що ви можете потім легко регулювати пробіли між абзацами через CSS. Крім цього, я не можу придумати нічого, що говорить про перерви лінії як такої.


9

Ця ж концепція стосується того, чому ми не використовуємо таблиці для макета - використовуйте таблиці для таблиць і CSS для верстки.

Використовуйте <br/>для перерв рядків у текстовому блоці та CSS, якщо ви хочете вплинути на макет.


4

Вказання макета безпосередньо ускладнює адаптацію сайту для різних розмірів сторінки або шрифтів, наприклад.


2

Я, як правило, завжди встановлюю відповідні поля та набивання елементів за допомогою CSS - це набагато менш брудно, ніж навантаження <br />s у всьому місці, окрім того, що більш семантично правильне.

Напевно, єдиний раз, коли б я скористався <br />перевагою перед полями та накладками, встановленими CSS, навіть якщо це не є строго технічно правильним, якщо це був ізольований випадок, де потрібно було трохи більше місця. Якщо у мене досить великий аркуш стилів і не здається, що варто створювати додатковий стиль саме для цієї випадковості, я можу використовувати <br />як одноразовий.

Як і більшість речей, <br />s - це не погано, якщо вони використовуються правильно.


1

Я намагаюся записати свою розмітку таким чином, щоб її легко читали з відключеним CSS. Якщо ви просто використовуєте BR, щоб додати інтервали, краще використовувати поля та прокладку.


1

<br />слід використовувати лише для розривів рядків, а не застосовувати стиль до сторінки. Наприклад, якщо вам потрібен додатковий простір між абзацами, надайте їм клас та застосуйте додаткові прокладки до абзаців. Не розкладайте свої абзаци за допомогою<br /><br ><br />


1

Вони повинні використовуватися для представлення нових рядків. Більше нічого. Не заповнювати простір, як, наприклад, на середньому сайті географічних міст. Однак є лише один випадок, коли вони можуть бути корисні для інших цілей, ніж розміщення нової лінії: для очищення поплавків.

<br style="clear: both;">

1
Хоча цей метод не використовується XHTML.
iamkoa

2
Ви часто можете обійти цей "хак", використовуючи overflow:autoзамість цього елемент, що містить.
mpen

2
@iamkoa: Я не використовую XHTML. HTML - це HTML, а не XML.
BalusC

1

Не використовуйте три чи більше поспіль <br>s, це сигнал, що ви використовуєте їх для стилістичних цілей, і ні, ви не повинні.

Деякі кажуть, що одного <br>достатньо і замість двох вам слід використовувати <p></p>, але є ситуації (наприклад, екранізації), коли ви хочете ввести довшу паузу, не передбачаючи зміну теми чи початку нового періоду, як це робиться в абзаці.


0

Вони добре, якщо їх використовувати належним чином. Наприклад, не слід використовувати їх замість <p>тегів або створювати інтервали між елементами. Ви, мабуть, робите щось не так, якщо у вас коли-небудь є два підряд.


0

Якщо ви це зробите: <BR/> <BR/>

Ви отримаєте різний макет у різних браузерах.

Глибше:
якщо ви використовуєте <BR/>лише для розривів рядків - добре.
Якщо ви використовуєте <BR/>як розпірку ліній - не нормально.


0

Ось приклад, як <br>може негативно вплинути на стилізацію (запустіть фрагмент для візуальних зображень)

(відзначте нерівну кнопку та непарний пробіл праворуч):

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

У HTML (до HTML - 4): використання <br>
В HTML 5: <br> це найбільш прийнятний, але <br/>і <br />також прийнятно
У XHTML: <br /> найбільш прийнятний. Можна також використовувати <br/>або<br></br>

Тож використання <br>тегу є абсолютно допустимим HTML. Але використовувати <br>не рекомендується?

Основна причина, чому його не використовувати, <br>полягає в тому, що це не семантичний тег і не має вмісту всередині. Його використання можна уникнути, як,

<p>some<br>text<p>

може бути позначено без <br>як

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

Якщо ви використовуєте <br>іншу мету, наприклад, пробіли тощо, які можна досягти за допомогою marginвластивості CSS .


1
Зауважте, що використання <p> додасть ~ 16px поля вгорі та внизу. Встановіть для кожного поля <p> межі поля 0px, щоб уникнути відстані між рядками, використовуючи більше висоти, ніж слід.
Satbir Kira
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.