Я сталкивался с различными сообщениями, где люди утверждают, что отрицательные поля - это хаки. Таким образом, я отошел от их использования, за исключением особых случаев, когда я могу их оправданно использовать, например, выбрасывать текст с экрана с полем : -9999px
Вопрос, отрицательные поля - хак, и когда это правильно использовать отрицательные поля? Я видел их в 960 Grid System с .push
и .pull
, любые другие случаи, когда их можно оправданно использовать?!?!
Отрицательные поля разрешены на основании спецификаций W3C . Я использовал их, чтобы позволить вещам нависать над контейнером.
Я подозреваю, что они были отмечены как хакерские из-за непоследовательного поведения браузера.
По возможности я использую position: relative
и отрицательные значения top и left, чтобы перемещать элементы в новые места. Это возможно не для всех случаев, но я считаю, что это работает более последовательно во всех вариантах Internet Explorer.
Я бы сказал, что это не взлом: это определенное, логичное поведение; поддерживается во всех браузерах; можно ожидать, что он будет поддерживаться в будущих версиях браузеров (отсутствие поддержки в будущем - самый важный аргумент против взлома).
Кроме того, как отмечает @durilai, они официально санкционированы (хотя и с ограничениями) W3C.
Эта статья журнала Smashing Magazine поддерживает этот случай.