Jeśli tak, czy faktycznie powoduje to utratę visibility
właściwości?
(Zdaję sobie sprawę, że Internet Explorer nie obsługuje jeszcze tej właściwości CSS2.)
Porównanie silników układu
Zobacz także: Jaka jest różnica między widocznością: ukryta a wyświetlaniem: brak
Odpowiedzi:
Oto zestawienie zweryfikowanych informacji z różnych odpowiedzi.
Każda z tych właściwości CSS jest unikalna. Oprócz renderowania elementu niewidocznego mają następujące dodatkowe efekty:
źródło
visibility:hidden
,opacity: 0
zamiast tego musisz użyć ich do wykrywania kliknięcia myszą.opacity:0
albodisplay:none
, ale jeśli używaszvisibility: hidden
można zrobić dzieci widoczny zvisibility: visible
Nie.
Elementy z nieprzezroczystością tworzą nowy kontekst układania.
Ponadto specyfikacja CSS tego nie definiuje, ale elementy z
opacity:0
są klikalne, a elementy zvisibility:hidden
nie.źródło
Nie. Jest duża różnica. Są podobne, ponieważ możesz przejrzeć element, jeśli widoczność jest ukryta lub krycie wynosi 0
krycie: 0 : nie możesz klikać elementów za nim.
widoczność: ukryta : możesz klikać elementy za nim.
źródło
Istnieje wiele różnic między
visibility
iopacity
. Większość odpowiedzi wspomina o pewnych różnicach, ale oto pełna lista.krycie nie dziedziczy, podczas gdy widoczność tak
krycie jest animowane, a widoczność nie.
(Cóż, z technicznego punktu widzenia tak jest, ale po prostu nie ma zdefiniowanego zachowania dla, powiedzmy, „37% zwiniętego i 63% ukrytego”, więc można to uznać za brak możliwości animacji).
Używając krycia, nie możesz uczynić elementu potomnego bardziej nieprzezroczystym niż jego rodzic. Np. Jeśli masz ap z kolorem: czarnym i kryciem: 0,5, nie możesz uczynić żadnego z jego elementów potomnych w pełni czarnymi. Prawidłowe wartości krycia mieszczą się w zakresie od 0 do 1, a ten przykład wymagałby 2!
W konsekwencji, zgodnie z komentarzem Martina , możesz mieć widoczne dziecko (z widocznością: widoczne) w niewidzialnym rodzicu (z widocznością: ukryte). Jest to niemożliwe w przypadku krycia; jeśli rodzic ma krycie: 0; jego dzieci są zawsze niewidoczne.
Odpowiedź Kornela wspomina, że wartości krycia mniejsze niż 1 tworzą własny kontekst stosowy; nie ma znaczenia dla widoczności.
(Żałuję, że nie potrafię wymyślić sposobu, aby to zademonstrować, ale nie mogę wymyślić żadnego sposobu, aby pokazać łączący się kontekst widoczności: ukryty element).
Zgodnie z odpowiedzią Philnasha elementy z kryciem: 0 są nadal odczytywane przez czytniki ekranu, podczas gdy są widoczne: elementy ukryte nie.
Zgodnie z odpowiedzią Chrisa Noe , widoczność ma więcej opcji (takich jak zwijanie), a elementy, które nie są widoczne, nie reagują już na kliknięcia i nie można ich zakładać.
(Uczynienie tego wiki społeczności, ponieważ zapożyczanie z istniejących odpowiedzi nie byłoby sprawiedliwe w innym przypadku).
źródło
Nie jestem tego do końca pewien, ale myślę, że czytniki ekranu nie czytają rzeczy, które są ustawione na ukrytą widoczność, ale mogą czytać rzeczy niezależnie od ich krycia.
To jedyna różnica, jaką przychodzi mi do głowy.
źródło
Nie jestem do końca pewien, ale tak robię przezroczystość między przeglądarkami:
obiekty z widocznością: ukryte nadal mają kształt, po prostu nie są widoczne. Elementy nieprzezroczystości zero można nadal klikać i reagować na inne zdarzenia.
źródło
Tworząc styl użytkownika, który wpływa na elementy w a
contenteditable
, zauważyłem, że jeśli ustawisz coś navisibility: hidden
, to karetka wejścia tak naprawdę nie chce z tym współdziałać. Np. Jeśli masz... wtedy wydaje się, że jeśli skupisz się na tym div / span, nie możesz w rzeczywistości go wpisać. Podczas
opacity: 0
gdy wydaje się, że możesz. Nie testowałem tego szczegółowo, ale doszedłem do wniosku, że warto o tym tutaj wspomnieć, ponieważ nikt inny na tej stronie nie mówił o wpływie na wprowadzanie tekstu. Wydaje się to jednak prawdopodobnie związane z wydarzeniami wymienionymi powyżej.źródło
To, co mówi Phil, jest prawdą.
IE obsługuje jednak krycie:
źródło
Właściwości mają różne znaczenia semantyczne . Chociaż semantyczny CSS brzmi, jakby był głupi, jak wspominali inni użytkownicy, ma on wpływ na urządzenia takie jak czytniki ekranu - gdzie semantyka wpływa na dostępność strony.
źródło