Разве это неправильно использовать table вместо css 'float? - PullRequest
2 голосов
/ 13 ноября 2011

Я создал веб-сайты до того, как они действительно были использованы, и несколько лет назад я принял решение использовать CSS для дизайна своих веб-страниц.Было очень трудно покинуть большие столы и попытаться вместо этого «очистить оба».

Вопрос в том, что после всех этих лет у меня иногда бывают проблемы.И каждый раз, когда я сталкиваюсь с плохой ситуацией с CSS, я вспоминаю простой способ сделать cols с помощью «table».

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

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

Я также наткнулся на гротескную таблицу в API Google Map.Если разработчики Google используют этот ярлык, почему бы не я?

(извините за мой английский, я не бегло говорю).

РЕДАКТИРОВАТЬ:

много ответов говорят, что это моенеисправность.Я считал, что неплохо разбираюсь в CSS, начал с книг Эрика Мейера и занимался CSS с 2005 года. Я знаю, что уловка width:100%;overflow:auto; работает в большинстве случаев (а также, что у нас не было этой уловки плохо), ноИнтересно, было бы плохо использовать таблицы для быстрого выполнения работы на небольшом веб-сайте, например в блоге.

Ответы [ 5 ]

1 голос
/ 13 ноября 2011

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

1 голос
/ 13 ноября 2011

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

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

Многие "профессиональные" дизайнеры используют таблицы, когда они не должны. Повсюду. Но «про» часто не то же самое, что «хорошо». Таблицы должны использоваться только для видимых таблиц данных.

1 голос
/ 13 ноября 2011

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

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

0 голосов
/ 21 июля 2017

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

0 голосов
/ 13 ноября 2011

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

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

...