Ответ 1
Нет; это не плохая практика, если вы знаете о том, что используете отрицательные поля, и что это обязательно "тянет" / "перемещает" элементы из их иначе-нормального положения.
Почему бы вам даже беспокоиться об этом?
Возьмем, к примеру, этот снимок проекта, над которым я работаю...
Голубой фон - это DIV, который находится внутри другого DIV, который обертывает всю секцию контакта боковой панели вместе. Чтобы получить Blue BG DIV
для круглой границы и не иметь пробела из-за поля/заполнения родительских я должен был использовать отрицательные поля margin: -9px -2px 8px -6px;
Итак, вопрос в том, не испорчена ли практика использования отрицательных полей или заполнения?
Нет; это не плохая практика, если вы знаете о том, что используете отрицательные поля, и что это обязательно "тянет" / "перемещает" элементы из их иначе-нормального положения.
Почему бы вам даже беспокоиться об этом?
Отрицательные поля - отличный способ отменить заполнение внутри элемента для заголовков и т.д. Я не нашел отрицательных результатов (помиловать каламбур) использования отрицательных полей. Например:
<div style="padding:10px;border:1px solid blue;">
<div style="margin:-10px -10px 10px -10px;backgorund-color:yellow;">Full width heading</div>
The content of the div which is now padded in by ten pixels.
<div>
Меня беспокоило отрицательные поля, когда я впервые их обнаружил, но нашел, что они очень полезны, так много областей макета - фактически уменьшают количество div и очищают код макета.