Как разместить элементы списка горизонтально
Элементы списка по умолчанию выстраиваются вертикально друг под другом, но иногда требуется разместить их по
горизонтали, например, для создания различных меню.
В таком случае к селектору <LI> следует
добавить стилевое свойство display со значением inline, оно
преобразует блочный элемент в строчный.
display - свойство, которое определяет, как элемент должен быть показан в документе.
| display: значение | Описание |
| block | Элемент показывается как блочный. Применение этого значения для встроенных элементов, например тега <span>, заставляет его вести подобно блокам — происходит перенос строк в начале и в конце содержимого. |
| inline | Элемент отображается как встроенный. Использование блочных тегов, таких как <div> и <p>, автоматически создает перенос и показывает содержимое этих тегов с новой строки. Значение inline отменяет эту особенность, поэтому содержимое блочных элементов начинается с того места, где окончился предыдущий элемент. |
| inline-block | Это значение генерирует блочный элемент, который обтекается другими элементами веб-страницы подобно встроенному элементу. Фактически такой элемент по своему действию похож на встраиваемые элементы (вроде тега <img>). При этом его внутренняя часть форматируется как блочный элемент, а сам элемент — как встроенный. |
| inline-table | Определяет, что элемент является таблицей как при использовании тега <table>, но при этом таблица является встроенным элементом и происходит ее обтекание другими элементами, например, текстом. |
| list-item | Элемент выводится как блочный и добавляется маркер списка. |
| none | Временно удаляет элемент из документа. Занимаемое им место не резервируется и веб-страница формируется так, словно элемента и не было. Изменить значение и сделать вновь видимым элемент можно с помощью скриптов, обращаясь к свойствам через объектную модель. В этом случае происходит переформатирование данных на странице с учетом вновь добавленного элемента. |
| run-in | Устанавливает элемент как блочный или встроенный в зависимости от контекста. |
| table | Определяет, что элемент является блочной таблицей подобно использованию тега <table>. |
| table-caption | Задает заголовок таблицы подобно применению тега <caption>. |
| table-cell | Указывает, что элемент представляет собой ячейку таблицы (тег <td> или <th>). |
| table-column | Назначает элемент колонкой таблицы, словно был добавлен тег <col>. |
| table-column-group | Определяет, что элемент является группой одной или более колонок таблицы, как при использовании тега <colgroup>. |
| table-footer-group | Используется для хранения одной или нескольких строк ячеек, которые отображаются в самом низу таблицы. По своему действию сходно с работой тега <tfoot>. |
| table-header-group | Элемент предназначен для хранения одной или нескольких строк ячеек, которые представлены вверху таблицы. По своему действию сходно с работой тега <thead>. |
| table-row | Элемент отображается как строка таблицы (тег <tr>). |
| table-row-group | Создает структурный блок, состоящий из нескольких строк таблицы аналогично действию тега <tbody>. |
| flex | Устанавливает элемент как блочный, а его потомки становятся flex элементами. |
| inline-flex | Устанавливает элемент как строчно-блочный, а его потомки становятся flex элементами. |
"Меню"
<style>
.meny {margin: 0; padding: 4px;}
ul.meny li {
display: inline-block; /* Отображать как строчный элемент */
margin-right: 5px;
border: 1px solid #000000;
padding: 5px;
}
</style>
<ul class="meny">
<li>Ссылка 1</li> <li>Ссылка 2</li> <li>Ссылка 3</li> <li>Ссылка 4</li> <li>Ссылка 5</li>
</ul>
- Ссылка 1
- Ссылка 2
- Ссылка 3
- Ссылка 4
- Ссылка 5
Как разместить элементы списка в колонки
Чтобы разместить элементы списка в несколько колонок, надо использовать свойство тега <columns>, которое позволяет одновременно задать ширину и количество колонок многоколоночного текста.2
- Расположение ссылок в 4 колонки
- Расположение ссылок в колонки автоматически
- Расположение текста в 2 колонки
<style>
.col-4 { columns: 4; }
.col-auto{columns: 100px auto; }
.col-2 { columns: 2 200px; }
</style>
<b>Сылки А:</b>
<ul class="col-4">
<li><a href="#">Ссылка 1</a></li><li><a href="#">Ссылка 2</a></li>
<li><a href="#">Ссылка 3</a></li><li><a href="#">Ссылка 4</a></li>
<li><a href="#">Ссылка 5</a></li><li><a href="#">Ссылка 6</a></li>
<li><a href="#">Ссылка 7</a></li><li><a href="#">Ссылка 8</a></li>
<li><a href="#">Ссылка 9</a></li><li><a href="#">Ссылка 10</a></li>
<li><a href="#">Ссылка 11</a></li><li><a href="#">Ссылка 12</a></li>
<li><a href="#">Ссылка 13</a></li><li><a href="#">Ссылка 14</a></li>
<li><a href="#">Ссылка ААА</a></li>
</ul>
<b>Сылки Б:</b>
<ul class="col-4" style="list-style:none">
<li><a href="#">Ссылка 1</a></li><li><a href="#">Ссылка 2</a></li>
<li><a href="#">Ссылка 3</a></li><li><a href="#">Ссылка 4</a></li>
<li><a href="#">Ссылка БББ</a>
</ul>
<b>Сылки С:</b>
<ul class="col-auto">
<li><a href="#">Ссылка 1</a></li><li><a href="#">Ссылка 2</a></li>
<li><a href="#">Ссылка 3</a></li><li><a href="#">Ссылка 4</a></li>
<li><a href="#">Ссылка 5</a></li><li><a href="#">Ссылка 6</a></li>
<li><a href="#">Ссылка 7</a></li><li><a href="#">Ссылка 8</a></li>
<li><a href="#">Ссылка 9</a></li><li><a href="#">Ссылка 10</a></li>
<li><a href="#">Ссылка 11</a></li><li><a href="#">Ссылка 12</a></li>
<li><a href="#">Ссылка 13</a></li><li><a href="#">Ссылка 14</a></li>
<li><a href="#">Ссылка ССС</a></li>
</ul>
<b>Текст:</b>
<div class="col-2">
Текст Текст Текст Текст Текст Текст Текст Текст Текст
</div>
Сылки А:
- Ссылка1
- Ссылка2
- Ссылка3
- Ссылка4
- Ссылка5
- Ссылка6
- Ссылка7
- Ссылка8
- Ссылка9
- Ссылка10
- Ссылка11
- Ссылка12
- Ссылка13
- Ссылка14
- СсылкаААА
- Ссылка 1
- Ссылка 2
- Ссылка 3
- Ссылка 4
- Ссылка 5
- Ссылка 6
- Ссылка 7
- Ссылка 8
- Ссылка 9
- Ссылка 10
- Ссылка 11
- Ссылка 12
- Ссылка 13
- Ссылка 14
- Ссылка ССС
Как расположить текст на странице в несколько колонок? И можно ли это делать автоматически? Наверняка, многие из
тех из вас, кто занимается или занимался раньше веб-разработкой, сталкивались с такой задачей — и часто
упирались в сложные решения, требующие хитрых стилей, либо применения дополнительных библиотек на JavaScript.
Многоколоночная верстка контента (не путать с задачей общей многоколоночной верстки страницы, которая скорее ближе к проблеме расположения блоков по сетке) долго пробивала себе дорогу в мире веб-стандартов и, наконец-то, не просто достигла статуса Candidate Recommendation в виде соответствующего модуля CSS3 Multi-column Layout, но и получила достаточно широкую поддержку в браузерах: где-то с префиксами (-moz- или -webkit-) и где-то в актуальных (Opera 11.1+) и планируемых версиях (IE10+), причем сразу без префиксов.
Многоколоночная верстка контента (не путать с задачей общей многоколоночной верстки страницы, которая скорее ближе к проблеме расположения блоков по сетке) долго пробивала себе дорогу в мире веб-стандартов и, наконец-то, не просто достигла статуса Candidate Recommendation в виде соответствующего модуля CSS3 Multi-column Layout, но и получила достаточно широкую поддержку в браузерах: где-то с префиксами (-moz- или -webkit-) и где-то в актуальных (Opera 11.1+) и планируемых версиях (IE10+), причем сразу без префиксов.
Ссылка на статью >>>
Как добавить к номеру списка круглую скобку
Для добавления скобки используем конструкцию li:before, которая добавляет перед каждым элементом списка некое содержание. В нашем случае - скобка " ) ".Свойство counter-increment необходимо для увеличения номера списка на единицу.
Значение idnum - это уникальный идентификатор счетчика, имя его задаем сами.
3
<style>
ol {
list-style-type: none; /* Убираем исходные маркеры */
counter-reset: idnum; /* Обнуляем счетчик списка */
}
li:before {
content: counter(idnum) ') '; /* Добавляем к числам скобку */
counter-increment: idnum; /* Задаём имя счетчика */
}
</style>
<ol>
<li>Первый</li>
<li>Второй</li>
<li>Третий</li>
<li>Четвертый</li>
</ol>
- Первый
- Второй
- Третий
- Четвертый
Приведённым способом можно делать любой вид нумерованного списка,
например,
заключить число в квадратные скобки, в стилях при этом изменится только одна строка:
content: '[' counter(idnum) '] ';Результат Примера 4
[1] Первый
[2] Второй
[3] Третий
[4] Четвертый
[2] Второй
[3] Третий
[4] Четвертый
Как изменить вид маркера списка
Пример 5 (нумерованный список)
В Примере 5 меняем счетчик нумерованного списка на свой (my_counter).Для этого используем свойство сброса счетчика counter-reset совместно со свойством counter-increment, которое увеличивает значение нашего счетчика.
Стиль маркера счетчика задаем с помощью псевдоэлемента ::before в элементе нумерованного списка li.
5
<style>
ol.not {
counter-reset: my_counter;
padding-left: 10px;
}
ol.not li {
list-style: none;
position: relative;
padding-left: 20px;
margin-top: 0.5em;
}
ol.not li::before {
position: absolute;
left: 0;
counter-increment: my_counter;
content: counter(my_counter) ". ";
color:orangered ;
font-weight: 600;
}
</style>
<ol class="not">
<li>Пункт-1</li>
<li>Пункт-2</li>
<li>Пункт-3</li>
</ol>
Результат Примера 5
- Пункт-1
- Пункт-2
- Пункт-3
Пример 6 (маркированный список)
В Примере 6 заменяем вид маркера (disc - по умолчанию) на свой ("розовый кружочек").Для этого используем псевдоэлемент ::before в котором прописываем свой вид маркера списка li.
6
<style>
ul.not {
padding-left: 10px;
}
ul.not li {
position: relative;
padding-left: 30px;
margin-top: 0.5em;
list-style: none;
}
ul.not li::before {
position: absolute;
top: 0.5em;
left: 0;
content: "";
display: inline-block;
width: 10px;
height: 10px;
border: 2px solid fuchsia;
border-radius: 50%;
}
</style>
<ul class="not">
<li><a href="#">Ссылка 1</a></li>
<li><a href="#">Ссылка 2</a></li>
<li><a href="#">Ссылка 3</a></li>
</ul>
Результат Примера 6
Пример 7 (маркированный список)
Пример 7 аналогичен Примеру 6, но добавлены другие элементы CSS.
7
<style>
.blok ul {
list-style-type: none;
}
.blok li{
position: relative;
margin-top: 5px;
margin-left: 10px;
font-size: 16px;
line-height: 24px;
}
.blok li:before {
content: "";
position: absolute;
width: 8px;
height: 8px;
background-color: purple;
border-radius: 50%;
left: -20px;
top: 8px;
}
</style>
<div class="blok">
<h3>Возрастные ступени ГТО c 2023 года</h3>
<ul>
<li>От 6 до 7 лет - 1 ступень</li>
<li>От 8 до 9 лет - 2 ступень</li>
<li>От 10 до 11 лет - 3 ступень</li>
<li>. . .</li>
<li>От 65 до 69 лет - 17 ступень</li>
<li>От 70 лет и старше - 18 ступень</li>
</ul>
</div>
Результат Примера 7
Возрастные ступени ГТО c 2023 года
- От 6 до 7 лет - 1 ступень
- От 8 до 9 лет - 2 ступень
- От 10 до 11 лет - 3 ступень
- . . .
- От 65 до 69 лет - 17 ступень
- От 70 лет и старше - 18 ступень