Основное отличие свойств display: none и visibility: hidden в CSS заключается в том, как они скрывают элементы:
Таким образом, display: none полностью скрывает элемент со страницы, а visibility: hidden делает его невидимым, но сохраняет занимаемое им место. 2
При этом оба элемента с указанными свойствами доступны скриптам, так как в DOM-дереве никаких изменений не происходит. 2