visibility
Nieruchomość w CSS ma dwie różne funkcje. Ukrywa wiersze i kolumny tabeli, a także ukrywa element bez zmiany układu.
p ( visibility: hidden; ) tr ( visibility: collapse; )
visibility
ma cztery prawidłowych wartości: visible
, hidden
, collapse
, i inherit
. Przejdziemy przez każdy z nich, aby dowiedzieć się więcej.
widoczny
Tak jak brzmi, visible
sprawia , że rzeczy są widoczne. Nic nie jest domyślnie ukryte, więc ta wartość nic nie robi, chyba że ustawiłeś hidden
to lub rodzica tego elementu.
ukryty
hidden
Wartość ukrywa rzeczy. Różni się to od używania display: none
, ponieważ hidden
tylko wizualnie ukrywa elementy. Element wciąż tam jest i nadal zajmuje miejsce na stronie, ale nie możesz go już zobaczyć (coś w rodzaju zmiany krycia na 0). Co ciekawe, ta właściwość nie dziedziczy domyślnie. Oznacza to, że w przeciwieństwie do właściwości display
lub opacity
, możesz utworzyć element hidden
i nadal mieć jedno z jego elementów podrzędnych visible
, na przykład:
Zauważ, że podczas ukrycia element nadrzędny nie wyzwala :hover
.
zawalić się
To wpływa tylko na wiersze tabeli ( ), grupy wierszy (takie jak
), kolumny (
), grupy kolumn (
) lub elementy utworzone w ten sposób przez
display
).
W przeciwieństwie do hidden
tego wartość ta ukrywa element podrzędny tabeli, bez pozostawiania miejsca, w którym się znajdował. Jeśli jest używany gdziekolwiek poza elementem podrzędnym tabeli, zachowuje się jak visibility: hidden
.
Jest w tym tak wiele dziwactw, że trudno wiedzieć, od czego zacząć. Jako przystawka:
- Chrome / Safari zwinie wiersz, ale zajmowane przez niego miejsce pozostanie. A jeśli komórki tabeli w środku mają obramowanie, zostanie zwinięte w pojedynczą ramkę wzdłuż górnej krawędzi.
- Chrome / Safari nie zwinie kolumny ani grupy kolumn.
- Safari nie zwinie komórki tabeli (źle), ale Chrome nie (dobrze).
- W dowolnej przeglądarce, jeśli komórka znajduje się w zwiniętej kolumnie (niezależnie od tego, czy faktycznie jest zwijana), tekst w tej komórce nie będzie wyświetlany.
- Opera (przed WebKitem) zwali wszystko, z wyjątkiem komórki tabeli (co jest poprawne).
Jest więcej, ale w zasadzie: nigdy tego nie używaj.
dziedziczyć
Wartość domyślna. To po prostu powoduje, że element dziedziczy wartość swojego rodzica.
Flexbox
visibility: collapse;
jest również używany w Flexbox i lepiej zdefiniowany.
Wsparcie przeglądarki
Podstawy, nie biorąc pod uwagę wszystkich dziwactw z upadkiem:
Każdy | Każdy | Każdy | 4+ | 4+ | Każdy | Każdy |
IE 7- nie obsługuje collapse
lub inherit
.