Считается ли плохой практикой использование абсолютного позиционирования? - PullRequest
66 голосов
/ 09 октября 2008

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

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

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

Ответы [ 12 ]

1 голос
/ 27 февраля 2010

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

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

Шахматная доска - это таблица, ячейки таблицы не нуждаются в настройке положения. Для событий onblur / onfocus и cie сделают эту работу. Зачем вам нужен подсчет пикселей?

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

1 голос
/ 09 октября 2008

ИМО, совсем не плохо. Я недавно выполнил задание с соблюдением стандартов AA и поддержкой FF2, IE7, IE6 (да, боль, которую я знаю). Были определенные макеты, которые были достижимы только благодаря абсолютно позиционированию! Даже некоторые компоненты, такие как кнопки, где требовалось наложение (прозрачные пленки), были возможны только из-за абсолютного позиционирования. Если у кого-то есть способ получше, напишите мне об этом.

Абсолютное позиционирование нарушает поток, если мы знаем, как ограничить поток (изменить координаты родителя на относительный / абсолютный), это весело. Я не знаю о старых браузерах (IE6 сам по себе является динозавром), но я обнаружил одну болезненную вещь: запись в PDF (Cute PDF) или открытие в WINWORD (sue me) дает плохой результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...