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

17
задан Zectbumo 10 July 2015 в 03:09
поделиться

14 ответов

Несколько дополнительных точек:

  • не фанатик об этом. CSS не прекрасен, и существуют некоторые вещи, которые могут быть сделаны намного легче с таблицами. Таким образом, если Вы должны, поместите немного таблицы там. Это не уничтожит Вас.

  • главное "зло" основанных на таблице разметок было видом глубоко вложенной путаницы, которая раньше была единственным способом получить точный контроль над страницей. У Вас были бы таблицы в таблицах в таблицах и прозрачные изображения стратегически помещенными для управления интервалом. Я думаю, что это довольно редко в наше время, и CSS позволит Вам очистить 90% этой путаницы.

  • "семантическая паутина", где теги там, чтобы дать значение странице, не описать расположение, является хорошей целью. Однако текущая версия HTML не идет очень далеко к достижению его. В результате у Вас ВСЕГДА будет много тегов на Ваших страницах, которые являются просто там для расположения без другого значения. Это не означает, что Вы не должны пытаться разделить содержание и расположение как можно больше; это просто означает, что Вы не получите там 100%.

34
ответ дан 30 November 2019 в 09:57
поделиться
  • Загрузки медленнее
  • Семантически неправильный
1
ответ дан 30 November 2019 в 09:57
поделиться

Большинство преимуществ (быстрее, никакой spacer.gif, доступность, содержание по сравнению с разметкой и т.д.) уже упоминается, но меня удивляет, что никто не упоминает, что css может наполнять таблицы, просто не может или быть, по крайней мере, легче.

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

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

1
ответ дан 30 November 2019 в 09:57
поделиться

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

1
ответ дан 30 November 2019 в 09:57
поделиться

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

Этот статья имеет подробный обзор.

1
ответ дан 30 November 2019 в 09:57
поделиться

Честно, толпа антитаблицы часто виновны в том, чтобы просто быть нацистами стандартов. Факт - то, что люди использовали таблицы для расположения начиная с "продвижения" включенного использующего фактического вывода.

основным аргументом против таблиц является доступность; и это - важная тема. Однако CSS является просто временным решением настоящего преступника: HTML является ужасным языком разметки!

, Если HTML, как никогда предполагалось, не был для расположения, то, почему, у нас есть < center> < b> < u> или < i>? почему не делают у нас есть < story> отметить для семантической группировки абзацев с? Почему у нас есть 6 тегов заголовка?

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

2
ответ дан 30 November 2019 в 09:57
поделиться

Это не может быть правильно по теме, но самой частой проблеме, которую я имею с разметками CSS, то, что их может быть трудно настроить так, чтобы они всегда расширяли родительский узел вместо того, чтобы просто переполнить ее. Это становится еще большей болью при ударе одного из не очень редких экземпляров IE, делающего что-то совершенно другое, чем И следующие Фиксация этой путаницы с таблицей обычно легче и более совместима, чем различные обходные решения JS, которые Вы были бы иначе вынуждены использовать.

2
ответ дан 30 November 2019 в 09:57
поделиться

Идея состоит в том, что повышение содержание / значение из страницы является лучшей вещью сделать, не только, потому что это делает это легко модифицируемым и styleable, но также и (возможно, что еще более важно), потому что это улучшает доступность для тех, которые используют screenreaders, и т.д. (и для поисковых систем!). Читайте Погружение в Доступность когда-то. [И если у Вас есть табличные данные, необходимо использовать таблицу, конечно.]

, Хотя "попытка использовать CSS, не таблицы, для расположения" является очень важным правилом, что необходимо попытаться следовать как можно больше, в конечном счете, "делая правильную вещь", имеет некоторую стоимость, и когда это становится слишком высоким, необходимо пересмотреть приоритеты. См. http://giveupandusetables.com/

2
ответ дан 30 November 2019 в 09:57
поделиться

Один из основных моментов критики основанных на таблице разметок - то, что они тверды . Они использовались для создания идеальных для пикселя страниц через все браузеры. Цена за это является жесткостью, которая вредит доступности. Дизайн расположения для экрана на 800x600 пикселей мог бы заставить кого-то с широкоэкранным дисплеем HD должным быть действительно смотреть искоса для чтения всего. Когда посетитель вызывает увеличение размера шрифта в браузере, он повреждает расположение, иногда вполне плохо.

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

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

4
ответ дан 30 November 2019 в 09:57
поделиться

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

5
ответ дан 30 November 2019 в 09:57
поделиться

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

16
ответ дан 30 November 2019 в 09:57
поделиться

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

Здесь несколько точек, которые отвечают на вопрос более подробно

8
ответ дан 30 November 2019 в 09:57
поделиться

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

СУЩЕСТВУЕТ много элитизма/политики/фанатизма, продолжающегося в этих обсуждениях Таблиц по сравнению с CSS, но в крупном масштабе, Разметки CSS являются более чистыми, чем Основанные на таблице разметки.

Теоретически, их также легче поддержать. Скажите, Вы хотите переместить навигацию слева направо? Несомненно, просто измените один файл CSS, и Вы хороши. Но с другой стороны, это обычно не имеет успеха на более сложных веб-сайтах, где CSS часто глубоко вкладывается и настолько сложный, который изменения не легки, тогда как обрабатывающие по шаблону системы делают основанные на таблице разметки не абсолютно неудобными в сопровождении.

22
ответ дан 30 November 2019 в 09:57
поделиться

Я настоятельно рекомендую чтение книжной Разработки с веб-стандартами . Это подходит разработчикам, разработчикам и людям с более бизнес-ориентированной ролью.

2
ответ дан 30 November 2019 в 09:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: