display: none is like an object was removed from the page, opacity: 0 or visibility: none both keep the object on the page but just makes everything clear and leaves an empty space where it was. When it's opacity: 0 you can still click on it, but i don't think the same for visibility: none.