Методы расширения очень похожи на методы static
, с той лишь разницей, что он имеет атрибут CompilerServices.ExtensionAttribute
, который помогает идентифицировать его как метод расширения.
Вы можете прочитать это
display:none
средства, что рассматриваемый тег не появится на странице вообще (хотя можно все еще взаимодействовать с ним через dom). Не будет никакого места, выделенного для него между другими тегами.
visibility:hidden
средство, что, в отличие от этого display:none
, тег не видим, но пространство, выделяется для него на странице. Тег представляется, он просто не замечен на странице.
, Например:
test | <span style="[style-tag-value]">Appropriate style in this tag</span> | test
Замена [style-tag-value]
с display:none
результаты в:
test | | test
Замена [style-tag-value]
с visibility:hidden
результаты в:
test | | test
С visibility:hidden
объект все еще поднимает вертикальную высоту на странице. С display:none
это полностью удалено. Если у Вас будет текст под изображением, и Вы делаете display:none
, тот текст сместится для заполнения пространства, где изображение было. Если Вы сделаете visibility:hidden, то текст останется в том же месте.
display: none
удаляет элемент из страницы полностью, и страница создается, как будто элемент не был там вообще.
Visibility: hidden
листы пространство в потоке документации даже при том, что Вы больше не можете видеть его.
Это может или не может иметь большое значение в зависимости от того, что Вы делаете.
display:none
удаляет элемент из потока расположения.
visibility:hidden
скрывает его, но оставляет пространство.
Они не синонимы - display: none
, удаляет элемент из потока страницы и отдыха потоков страницы, как будто это не было там.
visibility: hidden
скрывает элемент от представления, но не потока страницы, оставляя пространство для него на странице.
Они не синонимы.
display:none
удаляет элемент из нормального потока страницы, позволяя другим элементам заполнить.
visibility:hidden
листы элемент в нормальном потоке страницы, таким образом, который все еще, занимает место.
Предполагают, что Вы в гармонии для поездки в парке развлечений, и кто-то в строке становится столь шумным, что безопасность щипает их от строки. Все в строке тогда продвинутся одно положение для заполнения теперь пустого слота. Это похоже display:none
.
Контраст это с аналогичной ситуацией, но что кто-то перед Вами надевает плащ-невидимку. При просмотре строки будет похоже, что существует вакуум, но люди не могут действительно заполнить то пусто выглядящее пространство, потому что кто-то все еще там. Это похоже visibility:hidden
.
display:none
скроет элемент и выйдет из строя, пространство, поднимал, тогда как visibility:hidden
скроет элемент и сохранит пространство элементов. display:none также эффекты некоторые свойства, доступные из JavaScript в более старых версиях IE и Safari.
Стоит добавить, хотя об этом и не спрашивали, есть третий вариант, позволяющий сделать объект полностью прозрачным. Рассмотрим:
1-я
2-я ссылка.
3-я невидимая a > ссылка.
ссылка.
В этом случае вы получите:
1st link.
2nd link.
3rd link.
Разница между 1 и 2 уже отмечена (а именно, 2 все еще занимает место). Однако между 2 и 3 есть разница: в случае 3 мышь по-прежнему переключается на руку при наведении курсора на ссылку, и пользователь все еще может щелкнуть ссылку, а события Javascript по-прежнему будут активироваться по ссылке. Обычно это не поведение, которое вам нужно. Поведение при выделении текста также может различаться в зависимости от браузера.