Почему _not_ используют таблицы HTML для расположения [дубликат]

Чтобы пройти весь list, измените следующее:

 for(int k = 0; k<=count; k++)

На

 for(int k = 0; k<list.lengtb; k++)
10
задан Zectbumo 10 July 2015 в 02:42
поделиться

16 ответов

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

При использовании таблиц Вы довольно привязываетесь к строгой структуре.

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

Надежда, которая помогает! Ian

12
ответ дан 3 December 2019 в 13:32
поделиться

Разметки CSS помогают изменить расположение через таблицы стилей (разделение данных из дисплея).

Кроме того, браузеры часто не могут представлять таблицу до </table> тег был проанализирован. Это может быть проблемой при использовании таблицы с большой суммой содержания. Разметки CSS могут часто представляться, когда они идут.

0
ответ дан 3 December 2019 в 13:32
поделиться

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

1
ответ дан 3 December 2019 в 13:32
поделиться

"Правильный поступок" зависит от Вашей ситуации.

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

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

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

Кроме того, превращение Таблицы в таблицу "отделения", которая использует новые атрибуты "display=table", может легко быть сделано с несколькими regexes (если Вы ломаете головы, можно, вероятно, даже сделать это с единственной передачей). Если Вы знаете свой regexes, можно заменить таблицу отделениями через весь веб-сайт в течение минут, таким образом, целая проблема гибкости является действительно не настолько большой: когда (если) на самом деле необходимо использовать отделения и расположение CSS, просто выполните несколько regex, и Вы установлены. И если Вам нужно больше управления, чем, что можно обработать от regex, можно потратить пару часов для записи быстрого и грязного синтаксического анализатора, который преобразует таблицы в отделение точно, поскольку Вы хотите их.

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

1
ответ дан 3 December 2019 в 13:32
поделиться

Jeffrey Zeldman записал замечательную книгу по этой теме: Разработка С веб-стандартами. Эта книга должна быть обязательным чтением для каждого веб-дизайнера.

Вот некоторые причины, почему таблицы для дизайна плохи

  • Таблицы генерируют больше разметки-> Больше использования пропускной способности
  • Таблицы мешают поисковым системам индексировать Ваши страницы->, Ваш сайт становится менее "доступным для поиска"
  • Таблицы мешают изменять и настраивать видимое появление Вашего сайта-> более дорогостоящие модернизации
  • ... Но самое главное: использование таблиц для дизайна добавляет логику представления к Вашей разметке

Это плохо, потому что Вы хотите разделить свою презентацию от Вашего содержания! HTML должен только определить, КАКОВО Ваше содержание, не, КАК это должно посмотреть.

При получении этого уровня разделения сайт будет...

  • ... будьте более доступными различными видами браузеров и другими видами агентов пользователя.
  • ... сделайте модернизации намного легче
1
ответ дан 3 December 2019 в 13:32
поделиться

Лучшее Вы не слушаете фанатиков CSS. Эти пуристы живут в некотором мнимом мире и подадут Вас аргументы некоторой абстрактной чистоты, семантики и остальных. Вы не хотели бы иметь этот вид людей в Вашей команде. На данный момент я только видел студентов желтого рта для обтекания с "чистыми идеями" дизайна CSS. Они покажут Вам примеры очень примитивных разработанных на основе CSS сайтов, игнорируя Вас каждый раз, когда Вы спрашиваете их, как можно выполнить некоторый сложный дизайн программного обеспечения предприятия с ним. Опытные разработчики уже знают, что это совершенство не возможно.

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

Это не служит никакой цели создать невероятно сложный и сложный хитрый дизайн CSS, который никто еще (и Вы после нескольких месяцев) не сможет понять и поддерживать.

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

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

HTML/CSS является хорошим примером того, как плохо некоторый комитет мог сделать их задание и тормозить разработку технологии по сравнению с единственной компанией с ресурсами и обязательством.

1
ответ дан 3 December 2019 в 13:32
поделиться

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

1
ответ дан 3 December 2019 в 13:32
поделиться

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

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

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

Лучшим примером этого является CSS веб-сайт Zen-Garden.

Однако все еще намного легче сделать некоторые методы расположения в таблицах, а не CSS, таким образом, существует определенно "уравновешивание" там. (Например, даже Google использует таблицы в, он - макеты страницы!)

1
ответ дан 3 December 2019 в 13:32
поделиться

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

1
ответ дан 3 December 2019 в 13:32
поделиться

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

2
ответ дан 3 December 2019 в 13:32
поделиться

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

Но главное, некоторые причины, почему таблицы плохи:

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

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

3
ответ дан 3 December 2019 в 13:32
поделиться

Поскольку тег <table> подразумевает, что это должно содержать табличные данные.

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

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

Интересные связанные чтения:

4
ответ дан 3 December 2019 в 13:32
поделиться

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

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

4
ответ дан 3 December 2019 в 13:32
поделиться

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

Так будьте практичны.

Тем не менее большинство моих проектов использует чистый CSS. Почти все может быть сделано в CSS так же легко как с таблицами (или еще легче.) Запускаются учитывая, что ОТДЕЛЕНИЯ могут сделать это, и возможно возвращаться к 1 таблице для хитрого многостолбцового расположения. Даже затем кто-то, вероятно, нашел решение для Вашего расположения, так ищите сначала.

5
ответ дан 3 December 2019 в 13:32
поделиться

Делающие разметки CSS помогают изменить расположение Вашей страницы позже. Таблицы также делают Ваш HTML тяжелее, чтобы считать и отредактировать.

Согласно этой странице..

  • сделайте свои модернизации более эффективными и менее дорогими
  • справка Вы поддерживаете визуальную непротиворечивость всюду по своим сайтам
  • получите Вас лучшие результаты поиска, когда Вы будете минимизировать свою разметку и будете использовать теги заголовка правильно. Это уменьшает отношение кода к содержанию.
  • сделайте свои сайты более доступными для всех средств просмотра и агентов пользователя.
  • Ваши страницы загружаются быстрее, размеры файла будут меньшими, потому что информация о таблице не необходима на каждой странице.
  • и дайте Вам конкурентное преимущество (то есть, обеспеченность работой), когда больше мира перемещается в использование веб-стандартов.
7
ответ дан 3 December 2019 в 13:32
поделиться

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

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

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

И, как Peter говорит, вселенная не будет интегрироваться. Но использование CSS для расположения является более чистым в долгосрочной перспективе. Перепроектирование чего-то с трудно кодированным расположением может быть реальной болью. Проверьте CSS Zen-Garden для примеров того, что можно сделать. Конечно, в будущем, у нас будут сервировки CSS, лучший из обоих миров.

2
ответ дан 3 December 2019 в 13:32
поделиться
Другие вопросы по тегам:

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