Должны ли <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
Ответы
Ответ 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, не волнуйтесь много.