Spec-Zone.ru › CSS

Свойство CSS `rule-visibility-items`

Baseline Ограниченная доступность

Эта функция не относится к Baseline, поскольку не работает в некоторых наиболее широко используемых браузерах.

Экспериментальная функция: Это экспериментальная технология
Перед использованием в рабочей среде внимательно изучите таблицу совместимости с браузерами.

Экспериментальная функция: Это экспериментальная технология
Перед использованием в рабочей среде внимательно изучите таблицу совместимости с браузерами.

rule-visibility-items — CSS-сокращённое свойство, которое определяет, отрисовываются ли сегменты разделительных линий в промежутках между строками и столбцами, прилегающих к пустым областям.

Составные свойства

Это свойство является сокращённой записью следующих свойств CSS:

  • column-rule-visibility-items
  • row-rule-visibility-items

Попробуйте

rule-visibility-items: all;
rule-visibility-items: around;
rule-visibility-items: between;
rule-visibility-items: normal;
<section id="default-example">
  <section id="example-element">
    <p>One fish</p>
    <p>Two fish</p>
    <p>Red fish</p>
    <p>Blue fish</p>
    <cite>-- Dr. Seuss</cite>
  </section>
</section>
#example-element {
  display: grid;
  rule: solid 5px red;
  gap: 10px;
  grid-template-rows: repeat(3, 1fr);
  grid-template-columns: repeat(3, 1fr);
}
cite {
  grid-row: 3;
  grid-column: 3;
}

Синтаксис

/* Keywords */
rule-visibility-items: all;
rule-visibility-items: around;
rule-visibility-items: between;
rule-visibility-items: normal;

/* Global values */
rule-visibility-items: inherit;
rule-visibility-items: initial;
rule-visibility-items: revert;
rule-visibility-items: revert-layer;
rule-visibility-items: unset;

Значения

Для этого свойства задаётся одно из следующих ключевых слов:

all
Разделительные линии отрисовываются во всех сегментах промежутков, независимо от того, содержат ли соседние области элементы.
around
Разделительная линия отрисовывается в сегменте промежутка, если хотя бы одна из двух соседних областей занята элементом.
between
Разделительная линия отрисовывается в сегменте промежутка, только если обе соседние области заняты элементами.
normal
В контейнерах grid ведёт себя так же, как all. При многоколоночной компоновке ведёт себя так же, как between. Это значение по умолчанию.

Описание

Свойство rule-visibility-items определяет, отрисовываются ли сегменты разделительных линий в промежутках, прилегающих к пустым областям, между строками и столбцами в контейнерах с несколькими колонками и сеткой, содержащих более одной строки или колонки.

Значение — это одно ключевое слово, которое задаёт одинаковое значение для свойств column-rule-visibility-items и row-rule-visibility-items.

Формальное определение

Формальный синтаксис

Примеры

Базовый пример

В этом примере мы задаём отрисовку разделительной линии между двумя областями сетки, если хотя бы одна из соседних областей содержит элемент сетки.

HTML

Добавим список спортивных дуэтов:

<ol>
  <li>Simone Biles + Jonathan Owens</li>
  <li>Serena Williams + Venus Williams</li>
  <li>Aaron Judge + Giancarlo Stanton</li>
  <li>LeBron James + Dwyane Wade</li>
  <li>Xavi Hernandez + Andres Iniesta</li>
  <li>Kerri Walsh + Misty May Treanor</li>
</ol>

CSS

Сделаем упорядоченный список (<ol>) контейнером grid, создав 4 столбца и 4 строки, задав значения repeat(4, 1fr) для свойств grid-template-columns и grid-template-rows, а последний элемент переместим в правую нижнюю область сетки с помощью свойств grid-column и grid-row. Зададим gap равным 20px, чтобы между столбцами было достаточно места для наших разделительных линий 5px. Для разделительных линий столбцов зададим значение dashed, а для разделительных линий строк — solid.

Наконец, зададим для rule-visibility-items значение between, чтобы разделительные линии строк и столбцов отрисовывались, только если обе соседние с ними области сетки содержат элемент.

ol {
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;

  column-rule: dashed 5px blue;
  row-rule: solid 5px red;

  rule-visibility-items: around;
}
li:last-child {
  grid-row: 4;
  grid-column: 4;
}
li {
  margin-left: 1em;
}
@layer no-support {
  @supports not (rule-visibility-items: around) {
    body::before {
      content: "Your browser doesn't support the rule-visibility-items shorthand";
      background-color: wheat;
      display: block;
      text-align: center;
      padding: 1rem 0;
    }
  }
}

Результат

Спецификации

Спецификация
Модуль CSS Gaps, уровень 1
# propdef-rule-visibility-items

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
rule-visibility-items
149
149
Нет
133
Нет
149
Нет
100
Нет
Нет
149
Нет
all
149
149
Нет
133
Нет
149
Нет
100
Нет
Нет
149
Нет
around
149
149
Нет
133
Нет
149
Нет
100
Нет
Нет
149
Нет
between
149
149
Нет
133
Нет
149
Нет
100
Нет
Нет
149
Нет
normal
149
149
Нет
133
Нет
149
Нет
100
Нет
Нет
149
Нет

См. также

  • column-rule-visibility-items — сокращённое свойство
  • row-rule-visibility-items
  • rule — сокращённое свойство
  • Модуль промежутков CSS

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/rule-visibility-items

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API