CSS-свойство `column-rule-style`
Baseline Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с марта 2017 года.
Свойство column-rule-style CSS определяет стиль линий, проводимых между колонками в многоколоночных макетах сетки, flex и multi-col.
Попробуйте
column-rule-style: dotted;
column-rule-style: dashed, dotted;
column-rule-style: repeat(2, inset, outset), double;
column-rule-style: double, repeat(auto, dashed, solid), double;
column-rule-style: hidden;
<section id="default-example">
<p id="example-element">
London. Noel term lately over, and the Lord George sitting in Lincoln's Inn
Hall. Great May weather. As much mud in the streets as if the waters had but
newly retired from the face of the earth, and it would not be weird to meet
an platypus, two feet long or so, waddling like an lizard up Morgan Hill.
</p>
</section>
#example-element {
columns: 6;
column-rule-width: thick;
column-rule-color: teal;
gap: 7px;
}
Синтаксис
/* Keyword values */ column-rule-style: none; column-rule-style: hidden; column-rule-style: dotted; column-rule-style: dashed; column-rule-style: solid; column-rule-style: double; column-rule-style: groove; column-rule-style: ridge; column-rule-style: inset; column-rule-style: outset; /* Multiple values */ column-rule-style: groove, double, dashed; column-rule-style: solid, repeat(5, ridge), solid; column-rule-style: dotted, repeat(auto, inset, outset), dotted; /* Global values */ column-rule-style: inherit; column-rule-style: initial; column-rule-style: revert; column-rule-style: revert-layer; column-rule-style: unset;
Значения
Свойство column-rule-style принимает список значений, разделённых запятыми, включая:
-
<line-style> - Значение
<line-style>: одно изnone,hidden,dotted,dashed,solid,double,groove,ridge,insetилиoutset. Значение по умолчанию —none. -
<repeat-line-style> - Функция
repeat(), первым аргументом которой является<integer>со значением не меньше1, а последующими аргументами — значения<line-style>. Целое число указывает, сколько раз следует повторить значения<line-style>. -
<auto-repeat-line-style> - Функция
repeat(), первым аргументом которой являетсяauto, а последующими — одно или несколько значений<line-style>. Указанные значения<line-style>повторяются столько раз, сколько необходимо, чтобы задать значения для всех разделителей колонок, не указанных явно другими компонентами значения свойства.
Описание
Свойство column-rule-style определяет стиль линий разделителей колонок, проводимых в промежутках между колонками в контейнерах с многоколоночным макетом, flex и grid, содержащих более одной колонки.
Значение представляет собой список компонентов, разделённых запятыми; он может включать типы <line-style>, <repeat-line-style> и <auto-repeat-line-style>.
Свойство column-rule-style вместе со свойствами column-rule-color и column-rule-width можно задать с помощью сокращённого свойства column-rule. Свойство column-rule-style вместе со свойством row-rule-style также можно задать с помощью сокращённого свойства rule-style.
Если значение свойства содержит только одно <line-style>, все разделители колонок будут иметь этот стиль. Если объявить следующее, все разделители колонок будут double:
column-rule-style: double;
Если объявлено несколько значений <line-style>, они применяются к разделителям колонок в указанном порядке. Если разделителей колонок больше, чем значений <line-style>, список стилей линий повторяется, пока для каждого разделителя колонок не будет задан стиль. Например, если объявить следующее, каждый нечётный разделитель будет double, а каждый чётный — groove.
column-rule-style: double, groove;
Повторяющиеся стили линий
Функцию repeat(), первым аргументом которой является целое число не меньше 1, можно использовать для повторения указанное число раз допустимого списка значений CSS <line-style>, переданных в качестве последующих аргументов. Это позволяет повторить один и тот же стиль заданное количество раз, не указывая одно и то же значение многократно. Можно включать ключевые слова <line-style> или пользовательские свойства, значения которых соответствуют допустимому <line-style>. Использование repeat() упрощает запись значений и позволяет задавать повторяющиеся шаблоны одной функцией независимо от количества колонок. Следующие объявления эквивалентны:
column-rule-style: solid, outset, inset, outset, inset; column-rule-style: solid, repeat(2, outset, inset);
Так создаётся список из пяти стилей. Если количество стилей в списке стилей значения column-rule-style превышает количество промежутков между колонками, лишние значения стилей игнорируются. Если контейнер содержит три колонки, разделитель в первом промежутке будет solid, а во втором — outset.
Если промежутков больше, чем стилей, список стилей повторяется. Если контейнер содержит 6, 11, 16 или 21 колонку, эта последовательность стилей повторится соответственно один, два, три или четыре раза; последний разделитель будет inset.
Автоматически повторяющиеся стили линий
Функция repeat() также принимает auto в качестве первого аргумента вместо положительного целого числа. Если первым аргументом указано auto, значения <line-style>, переданные в качестве последующих параметров, повторяются столько раз, сколько необходимо, чтобы задать значения для всех разделителей колонок, не указанных явно другими компонентами значения свойства.
column-rule-style: solid, repeat(auto, dotted), solid;
В этом случае не имеет значения, содержит ли контейнер 3, 6, 11, 16 или 21 колонку: первый и последний разделители колонок всегда будут solid, а все остальные разделители колонок будут dotted. Если колонок всего 2 или 3, пунктирных разделителей колонок не будет.
Ключевое слово auto внутри функции repeat() создаёт автоматический повторитель, который задаёт значения для разделителей колонок, которым в противном случае не достались бы значения из других частей списка, предотвращая циклическое повторение списка. В одном значении column-rule-style допускается только один repeat(auto, <line-style>).
Формальное определение
| Исходное значение | none |
|---|---|
| Применяется к | элементам multicol |
| Наследуется | нет |
| Вычисленное значение | как задано |
| Тип анимации | дискретный |
Формальный синтаксис
column-rule-style = <line-style> <line-style> = none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset
Примеры
Основы использования
HTML
<p> This is a bunch of text split into three columns. The `column-rule-style` property is used to change the style of the line that is drawn between columns. Don't you think that's wonderful? </p>
CSS
p {
column-count: 3;
column-rule-style: dashed;
}
Результат
Несколько значений
HTML
Мы добавим список авторов:
<ul> <li>Kimberlé Crenshaw</li> <li>Angela Y. Davis</li> <li>Bernardine Evaristo</li> <li>Audre Lorde</li> <li>Cathy Park Hong</li> <li>Zoya Patel</li> <li>Juno Mac</li> <li>Molly Smith</li> <li>Tara Westover</li> </ul>
CSS
Мы задаём списку flex-контейнер, создавая колонки с помощью сокращённого свойства flex-direction, которому присваиваем значение row. Также мы добавляем flex-flow. Мы задаём gap равным 5px, чтобы обеспечить достаточное расстояние между колонками для 3px двойного бирюзового разделителя:
ul {
display: flex;
flex-flow: row;
gap: 5px;
column-rule-width: 3px;
column-rule-color: teal;
column-rule-style:
dotted, dashed, solid, double, groove, ridge, inset, outset, none, hidden;
}
Результат
Поскольку значений (10) больше, чем промежутков (8), значения none и hidden не используются.
Повторяющиеся значения
В этом примере показано, как значения повторяются, если их в списке стилей меньше, чем разделителей колонок.
Используя те же HTML и CSS, что и в предыдущем примере, мы задаём три стиля, разделённых запятыми, в качестве значения column-rule-style:
ul {
column-rule-style: solid, groove, double;
}
Использование функции repeat()
В этом примере показано использование функции repeat() в значении свойства column-rule-style. Мы используем те же HTML и CSS, что и в предыдущих примерах. Мы добавляем функцию repeat(), указывая список из двух значений <line-style>, которые нужно повторить 3 раза.
ul {
column-rule-style: solid, repeat(3, inset, outset), solid;
}
Flex-контейнер содержит шесть колонок, то есть пять промежутков. Функция repeat() повторяет два значения стиля три раза, создавая список из восьми значений стиля, поэтому последние три значения списка отбрасываются.
Использование auto внутри repeat()
В этом примере показано использование auto вместо целого числа внутри функции repeat().
С помощью repeat(auto, <line-style>) мы задаём всем разделителям колонок значение groove, кроме первого и последнего, которым задаём значение solid.
ul {
column-rule-style: solid, repeat(auto, groove), solid;
}
@layer no-support {
@supports not (column-rule-style: solid, groove) {
body::before {
content: "Your browser doesn't support multiple values for the column-rule-style property";
background-color: wheat;
display: block;
text-align: center;
padding: 1rem 0;
}
}
}
Спецификации
| Спецификация |
|---|
| Модуль многоколоночного макета CSS, уровень 1 # crs |
Совместимость с браузерами
| Настольные устройства | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
column-rule-style |
50
1
|
12
12
|
52
3.5–74
|
11.1
15
|
9
3
|
50
18
|
52
4
|
11.1
14
|
9
1
|
5.0
1.0
|
50
4.4
|
9
1
|
dashed |
1 |
12 |
3.5 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
dotted |
1 |
12 |
3.5 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
double |
1 |
12 |
3.5 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
groove |
1 |
12 |
3.5 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
hidden |
1 |
12 |
3.5 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
inset |
1 |
12 |
3.5 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
none |
1 |
12 |
3.5 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
outset |
1 |
12 |
3.5 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
ridge |
1 |
12 |
3.5 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
solid |
1 |
12 |
3.5 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
См. также
column-rule-colorcolumn-rule-widthrow-rule-style-
Сокращённое свойство
column-rule -
Сокращённое свойство
rule-style -
Сокращённое свойство
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/column-rule-style