Должен <br/> и <час/> избежаться любой ценой в веб-дизайне?

Используя rvest (который является оберткой вокруг xml2), вы можете сделать это следующим образом:

require(rvest)
require(magrittr)
doc <- xml('<posts>
  <row Id="1" PostTypeId="1" 
AcceptedAnswerId="15" CreationDate="2010-07-19T19:12:12.510" Score="27" 
ViewCount="1647" Body="some text;" OwnerUserId="8" 
LastActivityDate="2010-09-15T21:08:26.077" 
Title="title" AnswerCount="5" CommentCount="1" FavoriteCount="17" />
</posts>')

rows <- doc %>% xml_nodes("row")
data.frame(
  Id = rows %>% xml_attr("id"),
  PostTypeId = rows %>% xml_attr("posttypeid")
)

Результат:

  Id PostTypeId
1  1          1

Если вы берете Комментарии.xml с

data.frame(
  Id = rows %>% xml_attr("id"),
  PostTypeId = rows %>% xml_attr("postid"),
  score = rows %>% xml_attr("score")
)

Вы получаете:

> head(dat)
  Id PostTypeId score
1  1          3     5
2  2          5     0
3  3          9     0
4  4          5    11
5  5          3     1
6  6         14     9
40
задан Micah 21 January 2009 в 05:16
поделиться

13 ответов

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

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

< p> P. Sherman< br>
42 Кенгуру-валлаби Way< br>
Sydney</p>

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

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

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

< p> Имя: < входное имя = "называет" > < br>
Адрес: < входное имя = "обращается" к > </p>

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

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

< p> Имя: < входное имя = "называет" > </p>
< p> Адрес: < входное имя = "обращается" к > </p>

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

Редактирование 1:

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

65
ответ дан Joshua Carmody 23 September 2019 в 16:15
поделиться

Это - плохое использование, если Вы идете Строгие.

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

, Конечно, Вы не идете Строгие, не волнуются к очень.

-1
ответ дан nicruo 23 September 2019 в 16:15
поделиться

BR прекрасен, так как перенос строки мог быть частью содержания, например, в блоках кода (даже при том, что Вы будете, вероятно, использовать ПРЕД ЭЛЕМЕНТ для этого), или лирика.

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

1
ответ дан Arve Systad 23 September 2019 в 16:15
поделиться

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

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

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

1
ответ дан Tomalak 23 September 2019 в 16:15
поделиться

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

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

1
ответ дан Keltia 23 September 2019 в 16:15
поделиться

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

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

1
ответ дан PEZ 23 September 2019 в 16:15
поделиться

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

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

1
ответ дан Vaibhav 23 September 2019 в 16:15
поделиться

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

3
ответ дан user35612 23 September 2019 в 16:15
поделиться

Нет. Почему? Они - полезные конструкции.

<час>

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

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

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

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

3
ответ дан Christian Nunciato 23 September 2019 в 16:15
поделиться

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

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

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

4
ответ дан Aron Rotteveel 23 September 2019 в 16:15
поделиться

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

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

7
ответ дан George Stocker 23 September 2019 в 16:15
поделиться

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

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

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

4
ответ дан Andrew Hare 23 September 2019 в 16:15
поделиться

Настолько долго, поскольку Вы не используете < 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 и хотел бы доступ к любой из тех частей в любой данный момент:)

15
ответ дан Sampson 23 September 2019 в 16:15
поделиться