Как разместить элементы списка горизонтально
Элементы списка по умолчанию выстраиваются вертикально друг под другом, но иногда требуется разместить их по
горизонтали, например, для создания различных меню.
В таком случае к селектору <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