Как настроить смартфоны и ПК. Информационный портал

Маркированные списки в html и css. Установка маркера списка разными способами

Маркированные списки позволяют разбить большой текст на отдельные блоки, каждый из которых начинается с маркера - обычно в его качестве выступает небольшая точка. Это привлекает внимание читателя к тексту и повышает его читабельность.

С элементом

    связаны следующие особенности:

    • в том месте, где встречается
        , браузер автоматически добавляет перенос строки;
      • у списка имеются отступы сверху и снизу;
      • маркеры по умолчанию отображаются в виде закрашенного кружка;
      • каждый элемент списка сдвигается вправо по отношению к основному тексту.

      На рис.1 показан результат примера, иллюстрирующий приведённые особенности маркированного списка.

      Рис. 1. Вид маркированного списка

      Вид маркера

      Маркеры могут принимать один из трёх видов: закрашенный кружок (по умолчанию), незакрашенный кружок и квадрат. Для выбора типа маркера используется свойство list-style-type или универсальное list-style (пример 1). Применяются следующие значения:

      • disc - маркеры в виде закрашенного кружка;
      • circle - маркеры в виде незакрашенного кружка;
      • square - квадратные маркеры.

      Пример 1. Изменение вида маркера

      Списки

      • Сепульки
      • Сепулькарии
      • Сепуление

      В примере показано создание маркированного списка, где в качестве значка маркера используется небольшой однотонный квадрат. Хотя количество значений ограничено тремя, это не значит, что в нашем распоряжении всего три вида маркера. Существует множество спецсимволов, которые с успехом могут выступать в качестве значка маркера. «Прикрутить» их непосредственно к

    • не получится, поэтому придётся действовать в обход. Для этого прячем маркеры списка с помощью свойства list-style со значением none и в тексте перед содержимым
    • добавляем свой собственный символ с помощью псевдоэлемента ::before . В примере 2 в качестве такого маркера выступает треугольник.

      Пример 2. Использование::before

      Списки

      • Сепульки
      • Сепулькарии
      • Сепуление

      Результат данного примера показан на рис. 2. Поскольку использование свойства list-style со значением none не убирает маркеры совсем, а только скрывает их от просмотра, то список получается смещённым вправо. Чтобы избавиться от этой особенности, в примере добавляется свойство text-indent с отрицательным значением. Его задача - переместить текст левее на один символ.

      Рис. 2. Произвольные маркеры в списке

      Символ не обязательно должен быть в шестнадцатеричном формате, его можно вставить и непосредственно в текст. Главное, сохранить документ в кодировке UTF-8 и чтобы редактор её поддерживал. Сами символы и их коды можно взять, например, из LibreOffice Writer (рис. 3).

      Рис. 3. Выбор символа в LibreOffice

      Список с рисованными маркерами

      Стили позволяют установить в качестве маркера любое подходящее изображение через свойство list-style-image . В качестве значения используется относительный или абсолютный путь к графическому файлу, как показано в примере 3.

      Пример 3. Использование изображения в качестве маркера

      Списки

      • Сепульки
      • Сепулькарии
      • Сепуление

      Рисунок лучше всего выбирать небольшого размера, чтобы не превращать элементы списка в подрисуночные подписи. На рис. 4 показан результат действия примера по использованию в качестве маркеров небольших картинок.

      Рис. 4. Рисунок в качестве маркера

      Применение list-style-image обладает некоторыми недостатками:

      • рисунок нельзя сдвинуть вверх или вниз;
      • в разных браузерах положение рисунка относительно текста может отличаться.

      Этих недочётов можно избежать с помощью свойства background , оно устанавливает фоновое изображение. Для каждого элемента списка

    • мы убираем исходные маркеры и устанавливаем фоновую картинку без повторения. А чтобы текст не выводился поверх рисунка, смещаем его вправо через padding-left (пример 4).

      Пример 4. Использование background

      Ul { margin-left: -1em; } li { list-style: none; background: url(images/bullet.png) no-repeat 0 2px; padding-left: 20px; }

      Положение текста и маркера

      Существует два способа размещения маркера относительно текста: маркер выносится за границу элементов списка или обтекается текстом (рис. 5).



      inside outside

      Рис. 5. Размещение маркеров относительно текста

      Чтобы управлять положением маркеров, применяется свойство list-style-position . Оно имеет два значения: outside - маркеры размещаются за пределами текстового блока (это значение по умолчанию) и inside - маркеры являются частью текстового блока и отображаются в элементе списка (пример 5).

      Пример 5. Изменение положения маркеров

      Списки

      • Перед началом работы проверьте наличие оборудования, входящего в комплект 3BM.
      • При отсутствии одного или нескольких периферийных устройств следует сразу же обратиться к техническому персоналу ВЦ.
      • После осмотра визуальными методами своего рабочего места можно осторожно включить питание 3BM.

      Результат данного примера показан на рис. 6.

      Сегодня нет практически ни одного сайта, где бы не использовались HTML списки (

        представляет упорядоченный список,
          - неупорядоченный список). В этом уроке я покажу вам 8 отличных способов, позволяющих сделать обычные скучные html-списки привлекательными. Мы лишь добавим несколько простых CSS техник и наши списки не только приобретут потрясающий вид, но и несколько дополнительных возможностей.

          А теперь посмотрите демо-версию, чтобы увидеть, что же мы с вами будем создавать.

          Выглядят гораздо лучше, не так ли? И вы тоже можете создать такие списки при помощи простого CSS кода. Хотите знать как? Читайте!

          Список #1: Простая система навигации

          Чаще всего списки используются при создании навигационного меню. Код данного HTML/CSS примера позволяет создать простую, даже немного скромную, но привлекательную систему навигации.

          • Home
          • Blog
          • About
          • Contact

          /* LIST #1 */ #list1 { } #list1 ul { list-style:none; text-align:center; border-top:1px solid #eee; border-bottom:1px solid #eee; padding:10px 0; } #list1 ul li { display:inline; text-transform:uppercase; padding:0 10px; letter-spacing:10px; } #list1 ul li a { text-decoration:none; color:#eee; } #list1 ul li a:hover { text-decoration:underline; }

          Список #2: Использование различного шрифта при нумерации

          Проблема при использовании списка в том, что он сливается с текстом. А цифры всегда того же цвета, что и текст.
          Но стоит добавить немного стилей, и вы забудете о вышеперечисленных ограничениях, а ваши списки станут гораздо привлекательнее. Вот как это делается:

            The Netherlands is a country in ...

            The United States of America is a federal constitutional ...

            The Philippines officially known as the Republic ...

            The United Kingdom of Great Britain and ...

          /* LIST #2 */ #list2 { width:320px; } #list2 ol { font-style:italic; font-family:Georgia, Times, serif; font-size:24px; color:#bfe1f1; } #list2 ol li { } #list2 ol li p { padding:8px; font-style:normal; font-family:Arial; font-size:13px; color:#eee; border-left: 1px solid #999; } #list2 ol li p em { display:block; }

          Список #3: Изображения-маркеры

          Вы легко можете поменять вид маркеров неупорядоченного списка, указав одно из стандартных значений, но ведь можно в качестве маркеров использовать и изображения. Такое решение поможет сделать ваши списки более оригинальными. А вот и код:

          • Java
          • .NET

          /* LIST #3 */ #list3 { } #list3 ul { list-style-image: url("../images/arrow.png"); color:#eee; font-size:18px; } #list3 ul li { line-height:30px; }

          Список #4: iPhone-стиль

          Данный список взят из статьи the iPhone Contacts App, созданный при помощи CSS и jQuery. Так выглядят списки на iPhone. Очень привлекательно, не так ли? Хотите такой на свой сайт?

          • Toronto 2004
          • Beijing 2008
          • London 2012
          • Rio de Janeiro 2016

          /* LIST #4 */ #list4 { width:320px; font-family:Georgia, Times, serif; font-size:15px; } #list4 ul { list-style: none; } #list4 ul li { } #list4 ul li a { display:block; text-decoration:none; color:#000000; background-color:#FFFFFF; line-height:30px; border-bottom-style:solid; border-bottom-width:1px; border-bottom-color:#CCCCCC; padding-left:10px; cursor:pointer; } #list4 ul li a:hover { color:#FFFFFF; background-image:url(../images/hover.png); background-repeat:repeat-x; } #list4 ul li a strong { margin-right:10px; }

          Список #5: Вложенные списки

          Вложенные списки могут быть необыкновенно полезны и выглядят красиво. Изменив третью технику (Изображения-маркеры), мы можем создать «расширенный список». Конечно же не без помощи jQuery:

          1. Google
            1. Picasa
            2. Feedburner
            3. Youtube
          2. Microsoft
            1. Corel Corporation
            2. Zignals
            3. ByteTaxi
          3. Yahoo!
            1. Xoopit
            2. BuzzTracker
            3. MyBlogLog

          /* LIST #5 */ #list5 { color:#eee; } #list5 ol { font-size:18px; } #list5 ol li { } #list5 ol li ol { list-style-image: url("../images/nested.png"); padding:5px 0 5px 18px; font-size:15px; } #list5 ol li ol li { color:#bfe1f1; height:15px; margin-left:10px; }

          Список #6: Римская нумерация + многострочный тип

          По умолчанию в списке используются стандартная нумерация (1, 2, 3, 4 и т.д.). Изменив значение в CSS, вы можете задать другой тип нумерации, к примеру, римский.
          Так же по умолчанию, нумерация и маркеры располагаются вне списка (отличный пример тому - наш список под номером 2). Но и это исправимо, всего лишь нужно изменить значение list-style-position свойства на inside.

          1. Lorem ipsum dolor sit amet, ...
            Fusce sit amet ...
          2. Aenean placerat lectus tristique...
            Vivamus interdum ...
          3. Mauris eget sapien arcu, vitae...
            Phasellus neque risus...
          4. Phasellus feugiat lacus ...
            Duis rhoncus ...

          /* LIST #6 */ #list6 { font-family: "Trebuchet MS", "Lucida Grande", Verdana, Lucida, Geneva, Helvetica, Arial, sans-serif; } #list6 ol { list-style-type: upper-roman; color:#eee; font-size:14px; list-style-position: inside; } #list6 ol li { }

          Список #7: Линейный список, в котором пункты перечисляются через запятую

          Обычно списки используются для отображения количества чего-либо и отражаются в виде столбика. Но как быть, если вам нужен линейный список? Это достигается путем смены значения display свойства на inline. Но если вам вдруг понадобится встроить список в текст, то по правилам, пунктики списка должны быть разделены запятой. Как этого добиться? А, просто, при помощи элемента:after символического кода.

          • First inline item
          • Second inline item
          • Third inline item
          • Fourth inline item

          /* LIST #7 */ #list7 { } #list7 ul { color:#eee; font-size:18px; font-family:Georgia, Times, serif; } #list7 ul li { display: inline; } #list7 ul li:after { content: ", "; } #list7 ul li.last:after { content: ". "; }

          Список #8: Вращающееся навигационное меню

          Вот и последняя техника, для работы которой понадобится CSS3 (поддерживается только последними версиями Firefox, Safari и Chrome). При наведении курсора на один из элементов блока включается эффект - вращение. Конечно не самый удобный способ, но очень красивый.

          • Home
          • Blog
          • About
          • Contact

          /* LIST #8 */ #list8 { } #list8 ul { list-style:none; } #list8 ul li { font-family:Georgia,serif,Times; font-size:18px; } #list8 ul li a { display:block; width:300px; height:28px; background-color:#333; border-left:5px solid #222; border-right:5px solid #222; padding-left:10px; text-decoration:none; color:#bfe1f1; } #list8 ul li a:hover { -moz-transform:rotate(-5deg); -moz-box-shadow:10px 10px 20px #000000; -webkit-transform:rotate(-5deg); -webkit-box-shadow:10px 10px 20px #000000; transform:rotate(-5deg); box-shadow:10px 10px 20px #000000; }

          Заключение

          Как видите, реально создать уникальные вещи из обычного html-списка. И все это силами CSS. Очень рад, если вы узнали много интересного для себя.

          В языке разметки html различают 3 вида списков - упорядоченные (нумерованные), неупорядоченные (ненумерованные) и списки определений (definition list).

          Для построения такого списка нужны 2 вида элементов: ‘ul’ (сокращение от unordered list, т.е. неупорядоченный список) и ‘li’ (элемент списка). Все, что написано внутри ‘li’, помечается маркером.

          Внешним видом такого списка можно управлять, задавая типы маркеров.

          Типы маркеров

          Есть специальный атрибут type, который ставится в обоих элементах списка. Это тип вашего маркера. Всего 3 типа: окружность, диск и квадрат:

            - квадрат
              - диск
                - окружность

                В зависимости от того, где указать тип маркера, можно поменять его у всего списка или у конкретного элемента.

                Нумерованный список (ordered list)

                Для построения списка также нужно 2 элемента: ‘ol’ и ‘li’ (элемент списка). Маркеры заменяются на цифры с точкой. Пример простого списка:

                1. первый элемент
                2. второй элемент
                3. последний элемент

                Внешним видом упорядоченного списка можно управлять, задавая разные типы нумерации.

                Типы нумерации

                Есть специальный атрибут type, который ставится в элементе ‘ol’ или ‘li’. Это тип вашего списка. Всего 5 типов:

                  - Нумерация арабскими цифрами (1, 2, 3)
                    - Нумерация прописными буквами (A, B, C)
                      - Нумерация строчными буквами (a, b, c)
                        - Нумерация большими римскими цифрами (I, II, III)
                          - Нумерация малыми римскими цифрами (i, ii, iii)
                            - С какой цифры начать нумерацию

                            В зависимости от того, где указать тип нумерации, можно поменять ее у всего списка или у конкретного элемента.

                            Список определений (definition list)

                            Список определений был разработан для словарных статей.

                            Есть общий контейнер ‘dl’. Внутри него стоят ‘dt’ (definition termin - термин) и ‘dd’ (definition description - описание). Простейший пример:

                            Отдел маркетинга
                            Данный отдел занимается продвижением товаров и услуг
                            Финансовый отдел
                            Данный отдел занимается всеми финансовыми операциями

                            Все элементы всех списков - блочные. Но внутри элемента ‘dt’ можно ставить только строчные элементы. В элементы ‘dd’ и ‘li’ можно ставить все, что угодно. Отсюда появляются вложенные списки.

                            Вложенные (смешанные списки)

                            Это многоуровневые списки, внутри которых есть иерархия. Часто такие списки применяются при построении карты сайта. Пример:

                            Смешанный список
                            НОВОСТЬ ДНЯ
                          1. Сегодня идет дождь
                          2. Дождь будет идти весь день
                            НОВОСТЬ НОЧИ
                          3. Ночью будет идти дождь
                          4. Завтра начнется новый день
                          5. Доброго времени суток!

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

                            Данная статья — третья в данном небольшом курсе по основам HTML. Перед прочтением данного урока рекомендую пройти предыдущие два:

                            Только началась статья, а вы уже можете заметить использование стандартного маркированного списка. У меня на сайте он выглядит достаточно просто: слева есть небольшой отступ с линией и квадратный маркер. Далее в статье мы подробно рассмотрим какие бывают маркеры, как сделать цифры, а также как сделать собственный маркер.

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

                            1. Маркированные списки в HTML

                            Данный вид списков используется для перечисления в тексте набора похожих по значению элементов. Это может быть перечисление ссылок, которые связаны одной тематикой, подробное объяснение для отдельных частей текста. Но давайте посмотрим как в коде выглядит маркированные списки:

                            А вот так выглядит в браузере:

                            Рис. 1.1. Стандартный вид маркированного ненумерованного списка HTML в браузере

                            1.1 Стандартные маркеры для маркированного списка

                            На изображении выше (Рис 1.1.) можно заметить кружки в начале каждого элемента меню. Это и есть маркер. По умолчанию он в браузере в виде закрашенного круга. Всего есть несколько видов маркеров в HTML: закрашенный круг, пустой круг и квадрат. Они не требуют ни CSS ни подключения сторонних изображений:

                            1.2 Маркер списка в виде пустого круга

                            Значения атрибута вы знаете, а сейчас посмотрим как сделать маркированный список HTML в коде. Из таблицы выше мы выбрали второе значение "circle" для атрибута type и задали его нашему маркированному списку:

                            <html > <head > <title > Пример маркированного списка с маркером в виде пустого круга</ title > </ head > <body > <p > Звезды:</ p > <ul type = "circle" > <li > Сириус</ li > <li > Арктур</ li > <li > Поллукс</ li > <li > Бетельгейзе</ li > <li > Солнце</ li > </ ul > </ body > </ html >

                            Сразу смотрим как этот код будет выглядеть в браузере:

                            Рис. 1.2. Вид маркера для списка в виде окружности в браузере

                            1.3 Маркер списка в виде квадрата

                            Посмотрим также и последний пример с квадратным маркером для HTML списка:

                            Обратите внимание на маркер, он стал квадратным:

                            Рис. 1.3. Вид маркера для списка в виде квадрата в браузере

                            Важное замечание: сейчас уже не используется такой способ для создания стилей маркированным спискам. Существует четкое разделение CSS (что такое CSS читайте ) и HTML. HTML — для разметки, а CSS — для создания привлекательного внешнего вида.

                            Код, который содержит данный атрибут, при указания типа текущего документа как HTML5 (""), выдаст ошибку при валидации. Если не слышали что такое валидация, то вам сюда — .

                            Ошибка будет следующая:

                            Рис. 1.4. Ошибка на валидаторе при использовании атрибута "type" у списка

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

                            2. Нумерованные списки в HTML

                            В отличие от предыдущего вида списков, в нумерованных списков есть одна важная особенность: они автоматически проставляют нумерацию. Это бывает полезно когда необходимо пронумеровать большой список. Вручную это займет очень много времени, при этом еще можно сбиться. Нумерованный список задается с помощью тега . Как это выглядит на практике:

                            Пример нумерованного списка:

                            1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <html > <head > <title > Пример стандартного нумерованного списка</ title > </ head > <body > <p > От одного до пяти:</ p > <ol > <li > Первый</ li > <li > Второй</ li > <li > Третий</ li > <li > Четвертый</ li > <li > Пятый</ li > </ ol > </ body > </ html >

                            Таким образом выглядит нумерованный список со стандартными настройками в браузере:

                            Рис. 2.1. Нумерованный список в браузере со стандартными настройками

                            Как и у его предшественника (маркированного списка) у него есть свои стили для вывода цифр. Обычная нумерация — это не единственный вид маркеров у нумерованного списка в HTML.

                            2.1 Стандартные маркеры для нумерованного списка

                            Здесь у нас есть выбор не из трех видов маркеров, а из пяти:

                            Название маркера Значение атрибута "type" Пример списка
                            Маркеры в виде арабских чисел 1
                            • Бадминтон
                            • Бейсбол
                            Маркеры в виде строчных латинских букв a
                            • Джомолунгма
                            • Чогори
                            • Канченджанга
                            Маркеры в виде заглавных латинских букв A
                            • Summit Plummet
                            • Tantrum Alley
                            • Insano
                            Маркеры в виде римских цифр в нижнем регистре i
                            • Филиппинское море
                            • Аравийское море
                            • Коралловое море
                            Маркеры в виде римских цифр в верхнем регистре I
                            • Красный
                            • Зеленый
                            • Синий

                            2.2 Своя нумерация в списке HTML

                            Кроме обычного вывода нумерованного списка мы также можем начать свою нумерацию с любой цифры. Для этого необходимо задать дополнительный атрибут "start" . Такая нумерация работает на всех видах маркеров у нумерованных списков. Как это выглядит на практике:

                            1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <html > <head > <title > Произвольная нумерация для нумерованного списка</ title > </ head > <body > <p > Начинаем нумерацию с двенадцати:</ p > <ol type = "a" start = "12" > <li > Двенадцать</ li > <li > Тринадцать</ li > <li > Четырнадцать</ li > <li > Пятнадцать</ li > <li > Шестнадцать</ li > </ ol > </ body > </ html >

                            Вот как это будет отображаться на реальном сайте:

                            Рис. 2.2. Нумерация с произвольного числа в нумерованном списке

                            На изображении выше мы пронумеровали список начиная с двенадцати, при этом сделали маркеры в виде строчных латинских букв. Сейчас, я думаю, стало понятно как использовать данные атрибуты в своих проектах.

                            Ну а сейчас перейдем к вложенным спискам HTML.

                            3. Как сделать многоуровневый (вложенный) список в HTML

                            Многоуровневые списки используются на сайте в построении меню. Это меню чаще всего выглядит выпадающим либо вниз (урок по ), либо выпадающим влево или вправо. Такие меню позволяют хранить в себе другие элементы меню в компактном виде.

                            На примере моделей автомобилей мы построим многоуровневый список в HTML:

                            1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <html > <head > <title > Вложенный маркированный список HTML</ title > </ head > <body > <ul > <li > Citroen <ul > <li > Berlingo</ li > <li > C1</ li > <li > C2</ li > <li > C3 Picasso</ li > <li > C4 Grand Picasso</ li > </ ul > </ li > <li > KIA</ li > <li > Toyota</ li > <li > Audi</ li > <li > Lexus</ li > </ ul > </ body > </ html >

                            Обратите внимание, как выглядит многоуровневый список в браузере:

                            Рис. 3.1. Пример многоуровневого списка в HTML

                            Мы делали многоуровневый список с помощью маркированного (тег

                              ). Многоуровневый список с моделями Citroen появился с другими маркерами. Основной список с закрашенными маркерами, а список на 2-м уровне — с пустыми кружками. Но, как помните, с помощью атрибута "type" мы можем переопределить маркеры (лучше задавать ).

                              Но мы можем объединить многоуровневые списки с нумерованными и маркированными следующим образом:

                              1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <html > <head > <title > Нумерованные, маркированные и многоуровневые списки в HTML</ title > </ head > <body > <ul > <li > Первая группа тюльпанов <ol > <li > Первый класс <ul > <li > Простые ранние тюльпаны</ li > </ ul > </ li > <li > Второй класс <ul > <li > Махровые тюльпаны</ li > </ ul > </ li > </ ol > </ li > </ ul > </ body > </ html >

                              В примере выше у нас двойная вложенность (2 уровня). Сначала вкладывается список из двух классов тюльпанов, он у нас нумерованный. Затем в каждый из элементов нумерованного списка вкладывается маркированный список.

                              Смотрим его вид в браузере:

                              Рис. 3.2. Пример многоуровневого нумерованного списка в маркированный список в браузере

                              4. Полезные материалы по спискам HTML

                              Здесь находится информация, для которой необходимо понимание свойств CSS. Для этого рекомендую изучить следующие уроки: . Все примеры будут сразу с исходным кодом и разбиты по вкладкам HTML (структура), CSS (стили) и Result (результат).

                              4.1 Как сделать список HTML в строку

                              Сделать список HTML в строку может понадобиться при создании горизонтального меню. Сделать его очень просто:

                              4.2 Как сделать список HTML без значка

                              За это отвечает свойство list-style-type в CSS (подробнее ):

                              4.3 Как сделать список в HTML по центру

                              Элемент списка — это блочный элемент, поэтому по центру его необходимо выравнивать с помощью внешних отступов. Но есть один важный момент — мы должны явно указать ширину, чтобы выравнивание сработало:

                              4.4 Как сделать список в HTML с картинками

                              Достаточно лишь одного свойства CSS list-style-image . Внутри url указать адрес до иконки. Хочу лишь заметить, что изображение лучше сразу подбирать маленькое, потому что от него зависит высота строки списка:

                              4.5 Маркированный список HTML свой маркер

                              В этом случае необходимо заранее подключить шрифтовые иконки (например, FontAwesome ). Тогда можно сделать любую иконку вместо стандартного маркера:

                              4.6 Как сделать список в HTML в несколько столбцов

                              Чтобы сделать список в несколько столбцов мы воспользуемся свойством CSS column-count (свойство поддерживается только в следующих браузерах: IE 10+, Chrome 1.0+, Opera 11.1+, Safari 3.0+, Firefox 1.5+). Также необходимо задать высоту для списка, чтобы увидеть разбиение на несколько столбцов:

                              5. Практика работы со списками

                              На видео ниже вы можете увидеть всю работу со списками HTML на практике:

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

                              Если проанализировать какой-либо сайт, то можно обнаружить тот факт, что в контенте очень часто присутствуют списки разного рода: меню, список товаров и т. д. В HTML-коде за нумерованный список отвечает тег , а за маркированный – .

                              Еще стоит отметить тот факт, что на практике маркированные списки встречаются намного чаще, но при этом у них есть один небольшой недостаток. Маркер в списке отображается по-разному, в зависимости от используемого браузера. Для серьезного дизайнера это проблема.

                              Чтобы устранить этот негативный эффект надо отменить вывод маркера, воспользовавшись свойством list-style :

                              ol, ul { list- style: none; }

                              С этого начинается формирование списка с уникальными маркерами и значками. Ниже представлены наиболее распространенные способы представления уникальных и одинаковых для всех браузеров значков элементов списка.

                              Маркеры через картинки

                              Наиболее распространенный и простой способ указать для списка маркер – это воспользоваться бекграундной картинкой (свойство background). Метод основывается на указании в таблице стилей фонового рисунка для элементов списка, а также внутренний отступ (свойство padding), который зарезервирует место для нового маркера. Ниже представлен пример кода:

                              ul { list- style: none; } li{ background: url(путь- к- картинке) no- repeat; padding- left: 20px; }

                              Этот способ радует своей уникальностью, так как позволяет установить абсолютно любой маркер в виде картинки. Ниже показано, как наш код будет выглядеть в браузере:

                              Главная положительная сторона этого метода заключается в 100%-ной кроссбраузерности, но, не смотря на это, есть маленький недостаток. Использование картинки – это дополнительное обращение к серверу.

                              Маркеры с помощью before

                              Существует вариант, когда можно обойтись без картинки, если дизайнерские условия позволяют это. Такое очень часто допускается при оформлении основного контента, когда список маркируется простейшими элементами, типа квадратик ( ) или стрелочка (→). Таким образом, мы подошли к тому, что в качестве маркера может выступать какой-либо подходящий спецсимвол.

                              Далее возникает вопрос, каким образом спецсимволы вставлять в элементы списка. Естественно не в ручную, иначе это был бы очень затянутый и нудный процесс, плюс ко всему еще и трудоемкий. Выйти из этой ситуации нам поможет псевдоэлемент before , применение которого привязывается к определенному селектору, что позволяет автоматизировать наш процесс присвоения маркеров из спецсимволов. Такое решение подходит к большинству браузеров, с учетом того, что для IE , будет прописан expression .

                              Ниже представлен пример кода, который формирует маркированный список с коротким тире:

                              li{ this. innerHTML = "-" + this. innerHTML) /*хак для IE*/ } li: before{ content: "\201 3" ; }

                              На практике получим такую картину:

                              Напоминаю о том, что в реальных условиях хаки подключаются условными комментариями .

                              При использовании этого метода главное знать кодировку необходимого значка. Также стоит отметить, что для expression спецсимволы прописываются числовой комбинацией или мнемоническим кодом. Что касается свойства content , то в этом случае вначале ставится слеш, а потом идет запись шестнадцатеричного кода.

                              Использование insertAdjacentHTML

                              Вышеупомянутый способ не всегда корректно отрабатывает в легендарном IE (не смотря на хак). Точнее, «костыли» для этого браузера не до конца доработанные. Более действенным является метод, основанный на insertAdjacentHTML , ниже представлен код этого метода:

                              li{ //z-index: expression(runtimeStyle.zIndex = 1, insertAdjacentHTML("afterBegin", "-")); }

                              Маркеры, нарисованные CSS-свойствами

                              Некоторые квадратные маркеры можно нарисовать с использованием некоторых CSS-свойств. К примеру, квадрат с цветной заливкой рисуется через свойство background-color , а квадратик в виде рамки – border (кстати говоря, квадрат с заливкой можно нарисовать и таким способом). Пример записи в CSS-файле:

                              li{ //z-index: expression(runtimeStyle.zIndex = 1, this. innerHTML = "

                              " + this. innerHTML) /* хак для ие6 и 7 */ } li: before, . listMarkerBackColor{ background- color: #539127; width: 7px; height: 7px; content: "" ; float: left; margin: 6px 6px 0 0 ; overflow: hidden; } html . listMarkerBackColor{ margin- right: 1px; /* исправляем маленткий косяк в IE6 */ }

                              Таким образом рисованный CSS-свойствами маркер будет выглядеть на практике:

                              Использование before и first-child в комплексе

                              Такой метод частенько применяется при оформлении хлебных крошек на сайте. Кто не знает о чем речь, смотрим на пример ниже

                              В таком случае каждая ссылка отделяется друг от друга спецсимволом, но перед первым элементом никакого спецсимвола быть не должно. В этом нам поможет псевдокласс first-child , который обращается только к первому элементу списка. В кодовом виде это должно выглядеть так

                              HTML

                              < ul> < li>< a href= "#" > Главная < li>< a href= "#" > Блог < li>< a href= "#" > CSS < li> Валидный код при использовании target= "_blank"

                              li: before{ content: "\21 92" ; } li: first- child: before{ content: "" ; }

                              Стоит также отметить, что такой прием используют не только для хлебных крошек, но и для обычных маркированных списков, в зависимости от дизайнерского задания.

                              В каких браузерах работает?

                              6.0+ 4.0+ 9.5+ 3.0+ 3.0+ - -

                              Выводы

                              Подводя итог, можно отметить тот факт, что применение псевдоэлемента before является оправданным и рациональным в основном контенте, так как там не выдвигают особых требований к оформлению списков. Это в свою очередь позволит уменьшить нагрузку на сервер, в сравнении с вариантом, когда используют картинку. А если еще отметить тот факт, что в основном контенте может быть очень много маркированных списков, то разница может стать существеннее. Но картинки значительно выигрывают в плане дизайнерских решений маркера.

Лучшие статьи по теме