CSS – Абсолютное позиционирование или плавающее положение?
-
19-09-2019 - |
Вопрос
У меня есть базовый макет, в котором для элемента body задана определенная ширина.И поля слева и справа установлены на авто.В результате div оказывается по центру.
Теперь, когда дело доходит до позиционирования всех подэлементов внутри этого элемента div, что лучше использовать: абсолютное позиционирование или фиксированные координаты?Эти подэлементы в основном представляют собой столбцы текста, несколько изображений и несколько заголовков.Я обнаружил, что при перемещении всех них влево они складываются друг за другом.Это, в принципе, то, чего я хочу.Но не лучше ли указать координаты?Видите ли, я столкнулся с небольшой распространенной ошибкой поля в IE.И я знаю, что абсолютное позиционирование исправит ситуацию.Но будет ли это грязным решением?
Я имею в виду, что сам макет в каком-то смысле жидкий.Но у body div есть своя ширина.Таким образом, подэлементы не будут перемещаться независимо от разрешения.
Решение
Примечание:ошибку поля в IE также можно «исправить», обернув div с полем в div без поля и переместив этот внешний div.
Что касается абсолютного против.плавать:Я предлагаю вам взглянуть на эта страница, что кажется хорошим резюме, и спросите себя, не вызывает ли у вас какой-либо из минусов красный флаг.
Лично я бы использовал абсолютное позиционирование, если все содержимое div статично, и плавающее, если некоторые из них динамические.Но это субъективный ответ.
Другие советы
Я не вижу проблем с использованием абсолютного позиционирования.Одним из возможных недостатков может быть то, что вашу таблицу стилей будет немного сложнее поддерживать, поскольку вам придется указать ширину и положение.Если в будущем вам придется изменить ширину любого из ваших столбцов, вам придется обновить значение пикселя в двух местах.IMO, использующий float и маржу, будет легче изменить в будущем.