Таблицы вместо ОТДЕЛЕНИЙ [дубликат]

jsonweb кажется лучшим решением для меня. См. http://www.jsonweb.info/en/latest/

from jsonweb.encode import to_object, dumper

@to_object()
class DataModel(object):
  def __init__(self, id, value):
   self.id = id
   self.value = value

>>> data = DataModel(5, "foo")
>>> dumper(data)
'{"__type__": "DataModel", "id": 5, "value": "foo"}'

112
задан Community 23 May 2017 в 10:31
поделиться

24 ответа

Целые "Таблицы по сравнению с Отделениями" вещь едва-едва промахиваются. Это не "таблица" или "отделение". Это об использовании семантического HTML.

Даже тег Div играет только незначительную роль в, хорошо разметил страницу. Не злоупотребляйте его. Вам не должно быть нужно это многие при соединении HTML правильно. Вещи как списки, полевые наборы, легенды, маркировки, абзацы, и т.д. могут заменить большую часть того, что отделение или промежуток часто используются для выполнения. Отделение должно использоваться, прежде всего, когда имеет смысл указывать на логическое отделение ision, и только адаптированный для дополнительного расположения при необходимости. То же верно для таблицы; используйте его, когда у Вас будут табличные данные, но не иначе.

Тогда у Вас есть более семантическая страница, и Вам не нужно вполне как много классов, определенных в Вашем CSS; можно быть нацелены на теги непосредственно вместо этого. Возможно самое главное у Вас есть страница, которая выиграет намного лучше с Google (анекдотическим образом), чем переводная таблица или тяжелая отделением страница. Больше всего это поможет Вам лучше соединиться с частью Вашей аудитории.

Поэтому, если мы возвращаемся и смотрим на него с точки зрения таблицы по сравнению с отделением, это - мое мнение, что мы на самом деле перешли к сути дела, где отделение злоупотребляется, и таблица недогружена. Почему? Поскольку, когда Вы действительно думаете об этом, существует много вещей там, которые попадают в категорию "табличных данных", которые имеют тенденцию быть пропущенными. Ответы и комментарии к этой очень веб-странице, например. Они состоят из нескольких записей, каждого с тем же набором полей. Они даже хранятся в таблице SQL-сервера, ради бога. Это - точное определение табличных данных. Это означает, что тег таблицы HTML абсолютно был бы хорошим семантическим выбором к расположению что-то как сообщения здесь на Переполнении стека. Тот же принцип относится ко многим другим вещам также. Это не может быть хорошая идея использовать тег таблицы для установки расположения на три столбца, но это должно, конечно, очень хорошо использовать его для сеток и списков... кроме, конечно, когда можно на самом деле использовать ol или ul (список) теги.

195
ответ дан 13 revs, 2 users 93% 24 November 2019 в 02:45
поделиться

Еще одно использование я имел бы для него, будет формы, особенно маркируют: пары текстового поля. Это могло технически быть сделано в полях отделения, но очень, намного легче сделать это в таблицах, и можно утверждать, что label:textbox пары являются на самом деле табличными по своей природе.

я вижу что изрядное количество, особенно среди разработчиков MS. И я сделал его изрядное количество в прошлом. Это работает, но это игнорирует некоторую доступность и факторы лучшей практики. Необходимо использовать маркировки, исходные данные, fieldsets, легенды и CSS к расположению формы. Почему? Поскольку это - то, для чего они, это более эффективно, и я думаю, что доступность важна. Но это - просто мое персональное предпочтение. Я думаю, что все должны попробовать его тот путь сначала прежде, чем осудить его. Это быстро, легко, и чисто.

0
ответ дан CarmineSantini 24 November 2019 в 02:45
поделиться

@Jon Limjap

Для маркировки: текстовое поле, ни отделения, ни таблицы не являются соответствующими: <dl> с

1
ответ дан Slartibartfast 24 November 2019 в 02:45
поделиться

@Marius:

табличные данные расположения? Нет, в то время как это было стандартно несколько лет назад, это не теперь:-)

Еще одно использование, которое я имел бы для него, будет формы, особенно маркируют: пары текстового поля. Это могло технически быть сделано в полях отделения, но очень, намного легче сделать это в таблицах, и можно утверждать, что label:textbox пары являются на самом деле табличными по своей природе.

я склонен давать маркировке фиксированную ширину или отображать ее на строке выше.

1
ответ дан Ross 24 November 2019 в 02:45
поделиться

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

1
ответ дан Thomas Owens 24 November 2019 в 02:45
поделиться

Если требуется иметь семантически корректный HTML, то необходимо использовать таблицы только для табличных данных.

Иначе Вы используете таблицы для всего, что Вы хотите, но вероятно, существует способ сделать то же самое с помощью div с и CSS.

1
ответ дан Peter Stuifzand 24 November 2019 в 02:45
поделиться

1) Для отображения табличных данных. Календарь является одним примером табличных данных, который не всегда очевиден сначала.

2) я работаю на медицинскую биллинговую компанию, и почти все расположение для нашей внутренней работы сделано с помощью CSS. Однако время от времени мы получаем бумажные формы от страховых компаний, которые должны использовать наши billers, и программа преобразует их в формат HTML, который они могут заполнить и распечатать через интранет. Для проверки формы приняты, они должны соответствовать исходной бумажной версии очень тесно. Для них просто просто отступить к таблицам.

2
ответ дан Joel Coehoorn 24 November 2019 в 02:45
поделиться

Таблицы используются для табличных данных. Если имеет смысл помещать его в электронную таблицу, тогда используют таблицу. Иначе существует лучший тег для Вас для использования, такие как отделение, промежуток, ul, и т.д.

2
ответ дан MikeJ 24 November 2019 в 02:45
поделиться

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

3
ответ дан Sören Kuklau 24 November 2019 в 02:45
поделиться

На этом предмете я думал этот , сайт был довольно забавен.

3
ответ дан codemonkey 24 November 2019 в 02:45
поделиться

Я использую таблицы в двух случаях:

1) Табличные данные

2) Любое время я хочу, чтобы мое расположение динамично измерило себя к своему содержанию

4
ответ дан 17 of 26 24 November 2019 в 02:45
поделиться

Таблицы были разработаны для табличного содержания, не для расположения.

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

4
ответ дан FlySwat 24 November 2019 в 02:45
поделиться

Я обычно решу таблицы отобразить информацию о типе формы (Имя, Фамилия, Адрес, и т.д.), где выравнивание маркировок и полей через несколько строк важно. ОТДЕЛЕНИЯ я использую для расположения.

, Конечно, таблица обертывается в DIV:)

6
ответ дан Chuck 24 November 2019 в 02:45
поделиться

Я вижу аргумент в пользу таблиц для форм, но существует более хорошая альтернатива..., просто необходимо закатать рукава и изучить CSS.

, например:

<fieldset>
  <legend>New Blog Post</legend>

  <label for="title">Title:</label>
  <input type="text" name="title" />

  <label for="body">Body:</label>
  <textarea name="body" rows="6" cols="40">
  </textarea>
</fieldset>

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

Для некоторых превосходных примеров форм CSS, проверьте эти превосходные примеры:

http://jeffhowden.com/code/css/forms/

http://www.sitepoint.com/article/fancy-form-design-css/

http://www.smashingmagazine.com/2006/11/11/css-based-forms-modern-solutions/

7
ответ дан SamB 24 November 2019 в 02:45
поделиться

Согласитесь с Thomas - общее правило ползунка состоит в том, если это имеет смысл на электронной таблице, можно использовать таблицу. Иначе нет.

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

8
ответ дан PJ. 24 November 2019 в 02:45
поделиться

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

Таблицы были представлены в , HTML 3.2 здесь является соответствующим абзацем от спецификации на их использовании:

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

11
ответ дан Pat 24 November 2019 в 02:45
поделиться

Я сделал бы различие между HTML для общедоступных веб-сайтов (таблицы no-no-no, отделения yes-yes-yes) и HTML для полуобщедоступных или частных веб-приложений, где я склонен предпочитать таблицы даже для макета страницы.

большинством значительных причин, почему "Таблицы плохи", обычно является проблема только для общедоступных веб-сайтов, но не большой части проблемы с веб-приложениями. Если я могу получить то же расположение и иметь более последовательный взгляд через браузеры при помощи ТАБЛИЦЫ, чем сложный CSS+DIV, то я обычно иду вперед и утверждаю ТАБЛИЦУ.

13
ответ дан Radu094 24 November 2019 в 02:45
поделиться

Примечание: В то время, когда вопрос задали, были практические причины использования таблиц в некоторых целях расположения. Это больше не необходимо из-за улучшений браузера, таким образом, я обновил ответ.

HTML <table> - элементы должны использоваться, когда информационно-логически имеет двумерную структуру. Если данные могут быть структурированы в строках и столбцах, и можно обоснованно применить заголовки и к строкам и к столбцам, то у Вас, вероятно, есть табличные данные.

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

Некоторые примеры:

Используя таблицы для размещения боковых панелей и страницы, headers/footers. Это не табличные данные, но макет страницы. Что-то как css сетка или flexbox является более соответствующим.

Используя таблицы для столбцов газетного стиля. Это не табличные данные - Вы все еще считали бы его линейно. Что-то как css столбцы является более соответствующим.

20
ответ дан JacquesB 24 November 2019 в 02:45
поделиться

Я раньше делал чистый CSS, но я отказался от того преследования в пользу гибридного подхода таблицы/CSS как самый прагматический подход. Как ни странно, это также из-за доступности. Когда-нибудь пытайтесь делать CSS на Кореше? Какой кошмар! Когда-нибудь замеченный, как основанные на CSS веб-сайты представляются на новых браузерах? Элементы наложились бы или просто не отображаются правильно, что я должен был выключить CSS. Когда-нибудь пытайтесь изменить размер основанных на CSS веб-сайтов? Они выглядят ужасными и часто вредными для слепых, если они используют функции изменения масштаба в браузере! Если Вы делаете это с таблицами, они масштабируются намного лучше. Когда люди говорят о доступности, я нахожу, что у многих нет подсказки, и она раздражает меня, потому что я отключен, и они не. Они действительно работали со слепыми? Глухие? Если доступность является основным беспокойством, какого черта 99% видео не закрываются озаглавленные? Многие пуристы CSS используют Ajax, но не удаются понять, что Ajax часто делает содержание недоступным.

Практично, нормально использовать единственную таблицу в качестве основного расположения, пока Вы предоставляете информацию в логическом потоке, если бы ячейки сложены (что-то, что Вы видели бы по мобильным телефонам). Теория CSS звучит великолепно, но частично осуществимый в реальной жизни со слишком многими взломами, что-то, что является против идеалов "чистоты".

Начиная с использования CSS с подходом таблиц, я сэкономил так много времени, разрабатывая веб-сайт, и обслуживание намного легче. Меньше взломов, более интуитивных. Я получаю меньше вызовов от людей, говорящих, что "Я вставил DIV, и теперь это смотрит все завинченные!" И что еще более важно, абсолютно никакие проблемы доступности.

24
ответ дан netrox 24 November 2019 в 02:45
поделиться

Обычно каждый раз, когда Вы не используете таблицу для обеспечения расположения.

Таблицы-> данные

Отделения-> расположение

(главным образом)

21
ответ дан Jorge Córdoba 24 November 2019 в 02:45
поделиться

Когда данные, которые я представляю, являются, действительно, табличными.

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

Еще одно использование я имел бы для него, будет формы, особенно маркируют: пары текстового поля. Это могло технически быть сделано в полях отделения, но очень, намного легче сделать это в таблицах, и можно утверждать, что label:textbox пары являются на самом деле табличными по своей природе.

52
ответ дан Jon Limjap 24 November 2019 в 02:45
поделиться

Когда когда-либо страница, содержащая таблицы, загружается любым браузером, браузеру требуется больше времени, чтобы правильно отобразить тег. Там, где как будто используется div, браузер занимает меньше времени, так как он легче. И более того, мы можем применить CSS, чтобы блоки отображались в виде таблиц,

Таблицы обычно тяжелые, а div - легкие.

Там, где как будто используется div, браузер занимает меньше времени, так как он легче. И более того, мы можем применить CSS, чтобы блоки отображались в виде таблиц,

Таблицы обычно тяжелые, а div - легкие.

Там, где как будто используется div, браузер занимает меньше времени, так как он легче. И более того, мы можем применить CSS, чтобы блоки отображались в виде таблиц,

Таблицы обычно тяжелые, а div - легкие.

0
ответ дан 24 November 2019 в 02:45
поделиться

Divs - это простые разделы, они предназначены для группировки разделов страницы, которые в семантическом смысле связаны между собой. Они не несут никакого неявного смысла, кроме этого.

Таблицы изначально предназначались для отображения на экране научных данных, таких как результаты лабораторных исследований. Дэйв Раггетт, конечно, не предполагал, что они будут использоваться для верстки.

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

0
ответ дан 24 November 2019 в 02:45
поделиться

Понятно, что DIV используются для макета, но со мной случилось, что меня «заставили» использовать электронные таблицы для макета сетки в структуре div по следующим причинам:

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

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

0
ответ дан 24 November 2019 в 02:45
поделиться