Подтвердить что ты не робот

Должны ли <br/ "> и <hr/" > избежать любой ценой в веб-дизайне?

Я постоянно нахожу места, где мне нужно использовать тег <br />, потому что CSS не может делать то, что мне нужно. Разве не считается <br /> частью "дизайна", а не частью структуры документа? Для чего это приемлемо? Если те же правила применяются к <hr />?

Вот пример того, где я чувствую себя вынужденным использовать тег <br />:

Я хочу показать это:

<address>1234 south east Main St. Somewhere, Id 54555</address>

вот так:

1234 south east main st.
Somewhere, Id 54555
4b9b3361

Ответ 1

Нет ничего плохого в использовании < br/ > или < hr/ > . Ни один из них не является устаревшим тегом, даже в новой спецификации HTML 5 (соответствующая спецификация). На самом деле трудно сформулировать правильное использование < br/ > лучше, чем сам W3C:

Следующий пример - правильное использование элемента br:

  

< р > Р. Шерман <br>
  42 Wallaby Way <br>
  Сидней </р >

Элементы

br не должны использоваться для разделения тематических групп в абзаце.

Следующие примеры несоответствуют, поскольку они злоупотребляют элементом br:

  

< a < a... > 34 комментария. </a> <br>
  < a... > Добавить комментарий. <a> </p>

  

<p> Название: < input name= "name" > <br>
  Адрес: < вход name=" адрес" > </p>

Вот альтернативы вышесказанному, которые верны:

  

< a < a... > 34 комментария. </a> </p>
  < a... > Добавить комментарий. <a> </p>

  

<p> Название: < input name= "name" > </p>
  <p> Адрес: < input name=" address" > </p>

< hr/ > также может быть частью контента, а не только элементом отображения. Используйте здравый смысл, когда речь заходит о том, что является содержанием, а что нет, и вы будете знать, когда использовать эти элементы. Они являются действительными и полезными элементами в текущих спецификациях W3C. Но с большой силой приходит большая ответственность, поэтому используйте их правильно.

Изменить 1:

Еще одна мысль, которую я испытал после того, как я впервые попал в "пост" - было много anti- <table> настроение среди веб-разработчиков за последние годы, и не без оснований. Люди злоупотребляли таблицей > тег, используя его для компоновки сайта и форматирования. Это не то, для чего это нужно, поэтому вы не должны использовать его таким образом. Но означает ли это, что вы должны никогда использовать <table> тег? Что, если у вас на самом деле есть таблица с честностью и добротой в вашем коде, например, если вы пишете научную статью, и вы хотели включить периодическую таблицу элементы? В этом случае использование <table> полностью оправдан, он становится семантической разметкой вместо форматирования. Это та же ситуация с < br/ > . Когда это часть вашего контента (т.е. Текст, который должен сломаться в этих точках, чтобы быть правильным английским), используйте его! Когда вы просто делаете это для форматирования, лучше попробовать другой способ.

Ответ 2

До тех пор, пока вы не используете < br/ > чтобы сформировать абзацы, вы, вероятно, хорошо в моей книге;) Я ненавижу видеть:

<p>
  ...lengthy first paragraph...
  <br/>
  <br/>
  ...lengthy second paragraph...
  <br/>
  <br/>
  ...lengthy third paragraph...
</p>

Что касается адреса, я бы сделал это следующим образом:

<address class="address">
  <span class="street">1100 N. Wullabee Lane</span><br/>
  <span class="city">Pensacola</span>, <span class="state">Florida</span> 
  <span class="zip">32503</span>
</address>

Но это, вероятно, потому, что я люблю jQuery и хотел бы получить доступ к любой из этих частей в любой момент:)

Ответ 3

Лично я думаю, что вы можете сделать гораздо хуже, чем использовать эти два тега. Беспокойство над ними - пустая трата времени.

Ответ 4

<hr /> и <br />, как и все остальное, можно злоупотреблять, чтобы делать дизайн, когда им этого не должно быть. <hr /> предназначен для визуального разделения разделов текста, но в локализованном смысле. <br /> означает то же самое, но без горизонтальной линии.

Было бы ошибкой дизайна использовать <hr /> на сайте в качестве дизайна, но, например, в этом сообщении было бы правильным использовать как <br />, так и <hr />, так как этот раздел текста все равно должен быть раздел текста, даже если макет сайта изменился.

Ответ 5

<hr/> и <br/> - это элементы представления, которые не имеют семантического значения для документа, поэтому с точки зрения пуриста да, их следует избегать.

Подумайте о HTML не как о презентационном инструменте, а как о документе, который должен быть самоописательным. <hr/> и <br/> не добавлять семантическое значение - скорее они представляют собой очень конкретную презентацию в браузере.

Чтобы все было сказано, будьте прагматичны в своем подходе. Старайтесь избегать их любой ценой, но если вы обнаружите, что кодируете стены и потолок, чтобы избежать их, тогда вам лучше всего пойти и использовать их. Семантика важна, но в таких случаях это не так, как они важны.

Ответ 6

Я считаю, что абсолютно избегать использования общепринятого решения (даже если оно устарело) - это то же самое, что и создание таблицы с тегами <div> вместо тегов <table>, так что вы можете использовать <div>.

При разработке вашего веб-сайта вы, вероятно, не будете использовать теги <br />, но я все же могу представить, что они полезны там, где требуется пользовательский ввод.

Я не вижу ничего плохого в использовании <br />, но не сталкивался со многими ситуациями, когда я должен был их использовать. В большинстве случаев, вероятно, более элегантные (и более красивые) решения, чем теги <br />, если это то, что вам нужно для вертикального разделения содержимого.

Ответ 7

Нет. Зачем? Это полезные конструкции.


Добавление этого добавления (с сопровождающим персоналом), в случае, если мой краткий ответ будет истолковаться как недостаток соответствующего рассмотрения.;)

Это может быть и нередко является невероятной тратой времени, за которую обычно платит кто-то другой, - пытаясь придумать кросс-браузерные решения с ограниченным доступом к CSS для задач UI, которые используются в тегах BR и HR, и их любит, может решить за две секунды квартиру. Почему некоторые пользователи UI тратят столько времени, пытаясь придумать "чистые" способы обойти, используя проверенные и строгие HTML-конструкции, такие как разрывы строк и горизонтальные правила, для меня полная тайна; оба тега, среди многих других, являются полностью законными и действительно предназначены для вас. "Чистое", в этом смысле, бессмысленно.

Один дизайнер, с которым я работал, просто не мог заставить себя это сделать; он будет тратить часы, иногда на несколько дней, пытаясь "закодировать" вокруг него и все-таки придумать что-то, что не работает в Opera. Я нашел это совершенно непонятным. Чувак, добавь БР, сделай. Полностью законный, работает как шарм, и все счастливы.

Я все для абстрагирования презентации, не поймите меня неправильно; мы все делаем для лучшей работы, которую мы можем. Но будьте разумны. Если вы потратили пять часов, пытаясь найти способ достичь, в script, то, что BR дает вам прямо сейчас, и боги не будут догорать на вас, чтобы сделать это, затем сделайте это и переместите на. Скорее всего, если это будет проблематично, возможно, что-то не так с вашим решением.

Ответ 8

Я установил <hr style="display:none"> между разделами. Например, между столбцами в многоколоночном макете. В браузерах без поддержки CSS разделение будет по-прежнему четким.

Ответ 9

Интересный вопрос. Я всегда использовал <br/> как возврат каретки (и, следовательно, как часть контента, действительно). Не уверен, что это правильный путь, но он хорошо меня обслуживал.

<hr/>, с другой стороны...

Ответ 10

Я бы не сказал ни во что бы то ни стало, но если вы хотите быть пуристом, эти теги не имеют ничего общего со структурой и всем, чтобы макет, но HTML должен отделять контент от презентации. <hr /> можно выполнить с помощью CSS и <br/> путем правильного использования тегов otehr, таких как <p>.

Если вы не хотите быть пуристом, используйте их:)

Ответ 11

Я думаю, вам редко понадобится тег BR в ваших шаблонах. Но время от времени его можно вызвать в содержимом, сгенерированном пользователем и сгенерированной системой. Например, если вы хотите сохранить фрагмент текста в абзаце, но перед ним нужна новая строка.

Каковы случаи, когда вы чувствуете, что вынуждены использовать теги BR?

Ответ 12

<br> - это HTML-способ выражения разрыва строки, поскольку нет другого способа сделать это.

Разрывы физических строк в исходном коде по праву игнорируются (более правильно: рассматриваются как одно пустое пространство), поэтому вам нужен способ разметки для их выражения.

Не каждый разрыв строки - это начало нового абзаца, и упаковка текста в <div> (например), чтобы избежать <br>, кажется мне слишком параноидальным. Почему они вас беспокоят?

Ответ 13

BR прекрасен, так как жесткий фрагмент строки может быть частью содержимого, например, в блоках кода (даже если вы, вероятно, используете для этого PRE-элемент) или тексты песен.

HR, с другой стороны, является чисто презентационным: горизонтальное правило, горизонтальная линия. Вместо этого используйте border-top/bottom для соседних элементов.

Ответ 14

Я лично считаю, что в интересах истинного разделения контента и стиля следует избегать как <br />, так и <hr />.

Что касается удаления тегов <br /> в моей собственной разметке, я использую <div> в сочетании с свойством css margin для обработки всего, что требует разрыва строки, и <span> для всего, что было бы быть встроенным, но другого "класса контента" (очевидно, различая их с атрибутом class).

Чтобы заменить тег <hr /> на css, я просто создаю <div> с свойством border-top-style css, установленным в solid, а остальные три стороны - none. Свойства margin и padding указанного <div> затем обрабатывают фактическое размещение/позиционирование горизонтальной линии.

Как я уже сказал, я не эксперт, мой опыт веб-дизайна в основном является побочным эффектом моей работы с JSP-страницами (я программист на Java), но я столкнулся с этим вопросом во время некоторых исследований и хотел поместить свой два цента в...

Ответ 15

убедитесь, что вы включили DTD, который указывает XHTML.

Если ваш DTD отсутствует или указывает HTML4, мертвое мясо в качестве правильного разбора HTML4 или ниже будет засорять ваш документ угловыми скобками.

Ответ 16

В настоящее время у HR есть некоторые хакерские применения, предотвращающие использование алгоритмов инфляции для мобильных браузеров.

Кроме того, если у вас много небольшого контента, разделенного HR, робот Googlebot в настоящее время видит его как "N отдельных записей", что может быть полезно для вас.

BRs действительно должен использоваться только как разрыв строки в абзаце, что является довольно редким типографским использованием (за исключением, возможно, внутри ячейки таблицы), и я не знаю о какой-либо хакерской причине для их использования.

Ответ 17

Вы можете использовать <br>, но не используйте <hr>.

<br> - LINE BREAK
- Это отображаемая информация. Все еще в  общего использования, но использовать с ограничениями.

<hr> - HORIZONTAL RULE
- Показать информацию без семантического значения -  никогда не используйте его. "Горизонтальный", по определению, является визуальным атрибутом.

Источник: Надлежащее руководство по использованию HTML-тегов

Ответ 18

Это плохое использование, если вы собираетесь Strict.

<br/> и <hr/> не являются частью содержимого. Например, <hr/> обычно используется для разделения блоков текста. Но не возможно ли это с пограничным дном? И <br/> во многих случаях рассматривается как способ ограничить текст определенной формой, которая не может быть выполнена с помощью css?

Конечно, вы не идете в Strict, не волнуйтесь много.