visibility
        
        
          
                Baseline
                
                  Widely available
                
                
              
        
        
        
          
                
              
                
              
                
              
        
        
      
      This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
Свойство visibility скрывает или показывает элемент без изменения разметки документа. Также скрывает строки и столбцы <table>.
Интерактивный пример
visibility: visible;
visibility: hidden;
visibility: collapse;
<section class="default-example" id="default-example">
  <div class="example-container">
    <div class="transition-all" id="example-element">Hide me</div>
    <div>Item 2</div>
    <div>Item 3</div>
  </div>
</section>
.example-container {
  border: 1px solid #c5c5c5;
  padding: 0.75em;
  width: 80%;
  max-height: 300px;
  display: flex;
}
.example-container > div {
  background-color: rgba(0, 0, 255, 0.2);
  border: 3px solid blue;
  margin: 10px;
  flex: 1;
}
#example-element {
  background-color: rgba(255, 0, 200, 0.2);
  border: 3px solid rebeccapurple;
}
Чтобы скрыть и удалить элемент из разметки, установите свойству display значение none, вместо использования visibility.
Синтаксис
/* Значения */
visibility: visible;
visibility: hidden;
visibility: collapse;
/* Глобальные значения */
visibility: inherit;
visibility: initial;
visibility: unset;
Свойство visibility указывается в качестве одного из значений ниже.
Значения
- visible
- 
Значение по умолчанию, элемент виден. 
- 
Элемент не виден (полностью прозрачный, ничего не отображается), но продолжает влиять на шаблон. Потомки элемента могут быть показаны с помощью свойства visibility:visible. Элемент не может получить focus (например, при навигации с помощью tabindex).
- collapse
- 
* Для строк, столбцов, групп столбцов и групп строк в таблице, которые должны быть удалены (как с помощью display: none- Для XUL элементов размер всегда равен 0, независимо от других стилей, влияющих на размер, хотя отступы продолжают учитываться.
- Для других элементов collapseобрабатывается также, какhidden
 
Формальное определение
| Начальное значение | visible | 
|---|---|
| Применяется к | все элементы | 
| Наследуется | да | 
| Обработка значения | как указано | 
| Animation type | видимость | 
Формальный синтаксис
visibility =
visible |
hidden |
force-hidden |
collapse
Интерполяция
Значения видимости изменяются между видим и не видим. Интерполяция будет, если одно из начальных или конечных значений будет видимо или нет. Если одно из значений visible, интерполируется как дискретный шаг, где значения временной функции от 0 до 1 для visible и другие значения временной функции (которые происходят только в начале/конце перехода, или как результат функции cubic-bezier() со значениями вне [0, 1]) ближе к конечной точке.
Примеры
>Базовый пример
HTML
<p class="visible">Первый параграф виден.</p>
<p class="not-visible">Второй параграф не виден.</p>
<p class="visible">
  Третий параграф также виден. Заметь, второй параграф занимает место.
</p>
CSS
.visible {
  visibility: visible;
}
.not-visible {
  visibility: hidden;
}
Пример с таблицей
HTML
<table>
  <tr>
    <td>1.1</td>
    <td class="collapse">1.2</td>
    <td>1.3</td>
  </tr>
  <tr class="collapse">
    <td>2.1</td>
    <td>2.2</td>
    <td>2.3</td>
  </tr>
  <tr>
    <td>3.1</td>
    <td>3.2</td>
    <td>3.3</td>
  </tr>
</table>
CSS
.collapse {
  visibility: collapse;
}
table {
  border: 1px solid red;
}
td {
  border: 1px solid gray;
}
Соображения доступности
Использование visibility со значением hidden на элементе удалит его из дерева доступности. Это приведёт к тому, что элемент и все его дочерние элементы больше не будут показаны в скринридерах.
Примечания
- Поддержка visibility:collapseотсутствует или частично не работает в некоторых современных браузерах. Во многих случаях может не корректно работатьvisibility:hiddenсо столбцами и строками.
- visibility:collapseможет изменить шаблон таблицы, если таблица содержит вложенные таблицы, пока- visibility:visibleне указан явно для вложенной таблицы.
Спецификации
| Specification | 
|---|
| CSS Display Module Level 3> # visibility> | 
| Scalable Vector Graphics (SVG) 2> # VisibilityControl> | 
Совместимость с браузерами
Loading…