display:none
скроет элемент и выйдет из строя, пространство, поднимал, тогда как visibility:hidden
скроет элемент и сохранит пространство элементов. display:none также эффекты некоторые свойства, доступные из JavaScript в более старых версиях IE и Safari.
Нет. Если вы используете подготовленные операторы, экранирование выполняется за вас.