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

Создание вертикальных разделителей в меню на CSS

разделители в меню на CSS

Если вы реализуете вертикальное меню в одну строку, то, как правило, между пунктами добавляются специальные разделители (как показано на иллюстрации слева). Это позволяет визуально отделить несколько ссылок между собой. Обычно для этих целей используется вертикальная полоска, но могут встречаться и любые другие символы. В статье найдете 2 метода верстки, позволяющих легко и быстро сделать разделители в меню на CSS.

В обоих случаях подразумевается, что ваша навигация создана через конструкцию списка, то есть имеет плюс-минус такое вид:

В данном случае не забывайте убрать отображение элемента списка (кружок, квадрат и т.п.):

А также добавляйте всех вывод пунктов в один ряд:

Последнюю фишку можно также сделать через float: left; (но тут все зависит от вашей верстки). Перейдем непосредственно к нашему заданию.

Вариант1

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

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

Вертикальные разделители в меню

Вариант2

Этот подход использует селектор ::after для добавления символа после объекта. В коде ниже используется вертикальная черточка «|», но вместо нее можете подставить любой другой символ. Это делает данный метод более гибким.

Здесь тоже нужно добавить строку с last-child дабы скрыть ненужный разделитель в меню после последнего пункта.

Вертикальные разделители в меню

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

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

Списки в Html коде — теги UL, OL, LI и DL

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня в рамках этой рубрики я хочу поговорить о разнообразных Html списках, которые можно создать на основе специально предназначенных для этого тегов UL, OL, LI и DL. С помощью пары UL и LI создаются маркированные списки, с помощью OL и LI — нумерованные, а с помощью элементов DL, DT и DD создаются так называемые листинги определений. Так же мы рассмотрим вкратце принципы создания вложенных конструкций.

Html теги списков

Хочу напомнить вам, что мы уже успели рассмотреть язык Html и валидатор W3C, как задаются цвета в коде вебстраниц, успели поговорить про основы современной верстки, а так же верстки табличной (тут). Кроме этого мы затронули основы формирования директивы Doctype и оформление комментариев в коде, ну и узнали как вставить в Html картинку через тег Img.

Маркированные списки на основе тэгов UL и LI

Для создания маркированных списков используется тег UL, а для создания нумерованных – OL. Эти теги являются парными и блочными, точно так же, как и элемент LI.

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

Давайте посмотрим, например, маркированный вариант, который может выглядеть так:

Как выглядит Html код маркированных списков

  1. Первая строка
  2. Вторая
  3. Последний элемент

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

Т.е. UL служит только для организации маркированного (не упорядоченного) листинга, а все, что вы будете видеть на web странице внутри него, реализуется с помощью содержимого элементов LI.

Для UL можно менять вид маркера, прописывая в нем разные значения для атрибута «Type». Если «Type» (управление внешним видом маркеров) для элемента UL не указан, то будет отображаться вид маркера, принятого по умолчанию (disc — закрашенный в цвет текста кружок):

  1. <ul type="disc"> — закрашенный кружок (по умолчанию);
  2. <ul type="circle"> — не закрашенный кружок;
  3. <ul type="square"> – квадрат

В приведенных примерах атрибут «Type» мы прописывали в элементе UL, применяя данный тип маркеров для всех пунктов. Но атрибут «Type» можно прописать и для каждого отдельного тега LI, задав для этого пункта свой собственный тип маркера.

Пример маркированного списка с различными типами маркера для каждого пункта:

Код списка с различными типами маркеров.

  1. Маркер в виде закрашенного диска
  1. Маркер в виде не закрашенного диска
  1. Квадрат

Внимание! Атрибут type сейчас не рекомендуются к использованию. Вместо них нужно использовать соответствующие CSS свойства (list-style-type).

Например, я добавил в файл CSS своего блога следующие строки:

И теперь мне достаточно добавить к тегу Ul вот такие классы:

Нумерованные списки в Html на основе тэга OL

Для создания нумерованного листинга используются теги OL, внутри которых опять же будут расположены элементы LI. OL и LI, как я уже упоминал, являются блочными (т.е. стремятся занять все доступное им место по ширине) и внутри OL нельзя будет размещать ничего кроме элементов LI.

Получается, что OL и UL — это служебные тэги, которые нужны только для того, чтобы указать браузеру, какой именно вид списка мы формируем (маркированный или же нумерованный). В случае нумерованного — слева от каждого пункта мы будем видеть не маркер, а цифру и стоящую за ней точку:

Нумерованные списки в Html на основе тэга OL

  1. Первая строка
  2. Второй пункт
  3. Третья строка

Как я уже упоминал чуть выше, у элементов UL, OL и LI имеется возможность использовать атрибут TYPE. Он позволяет настроить тип маркера или задать, какими цифрами или буквами будут нумероваться пункты листинга. Для нумерованного списка параметры этого атрибута могут принимать следующие значения:

  1. <ol type="1"> — нумерация будет выполняться обычными арабскими цифрами (этот же вариант будет использоваться по умолчанию, при отсутствии атрибута «Type»);
  2. <ol type="A"> — заглавные буквы в качестве нумерации;
  3. <ol type="a"> — строчные буквы;
  4. <ol type="I"> — заглавные римские цифры;
  5. <ol type="i"> — строчные римские цифры;

Пример нумерованного списка с различными типами нумерации для каждого пункта:

Пример нумерованного списка с различными типами нумерации для каждого пункта

При создании нумерованных списков имеется так же возможность начать нумерацию не с единицы, а с заданного в атрибуте START числа. Например:

Можно начать нумерацию не с 1

  1. Первый элемент, номер которого задан в теге OL атрибутом start="23"
  2. Следующий пункт, с номером на единицу большим
  3. Еще на единицу больше

Для OL так же можно начать новую нумерацию с любого значения, начиная с любого пункта, прописав в открывающем LI этого пункта атрибут VALUE с требуемым числом. Например:

Для OL так же можно начать новую нумерацию с любого значения с помощью атрибута VALUE

  1. Первый пункт с номером один
  2. Этот элемент получит номер, указанный в атрибуте value="32"
  3. Пункт с большим номером

Оформление внешнего вида списков в CSS (таблицах стилей)

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

В правилах CSS, прописанных для этого класса или Id, указывается, какая картинка будет использоваться в качестве маркера, на каком расстоянии маркер будет отстоять от текста и еще многое. Подробности смотрите в статье про свойства таблиц стилей List style ( type, image, position).

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

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

Специальные и вложенные списки в Html коде

Третий и последний вид называется «списки определений» и задаются они с помощью трех тегов — DL, DT и DD. DL сообщает браузеру, что далее последует список определений.

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

Пример специального списка определений

Если вы посмотрите на приведенный выше пример, то заметите, что элемент DD (описание термина) сдвигается (на 40 пикселей) относительно элемента DT (самого термина).

Вообще, DL, DT и DD являются блочными тегами, причем, внутри элемента DT можно вставлять только контент со строчными тегами (получается, что внутри DT нельзя будет использовать блочные элементы заголовков и абзацев). А внутри тегов DD можно вставлять любые элементы и строчные и блочные.

Вложенный список в Html создается по аналогии с простым, но внутри основного списка часть пунктов заключается еще раз в открывающий и закрывающий тег UL или OL.

Обратите внимание, что закрывающий LI того пункта, в котором будет создан вложенный пункт, ставится лишь после всего кода вложенного списка (это очень важно для его правильного отображения на web странице). Вложенный список может выглядеть примерно, так:

Пример создания вложенных списков в Html

  1. Первый пункт основного нумерованного
  2. Второй пункт
  1. Первый элемент вложенного маркированного
  2. Второй
  3. Третий и последний пункт маркированного

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Комментарии и отзывы (10)

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

htmlbooks хороший ресурс, содержит много информации, но его наличие не исключает написание подобных статей. Мое мнение статья на уровне блога (зачетная!), сам я мало нового подчерпнул, но для новичков в самый раз!

а по поводу DOCTYPE, xHTML 1.1 и HTML 5 я думаю Дмитрий напишет нам еще много статей на эту тему

Лично мне нравится Ваша манера написания — очень просто, доступно, но при этом очень информативно. И мне бы не хотелось, что бы под «гнетом» критики эта манера изменилась, я думаю со мной согласятся многие читатели блога. Лично я в CSS и PHP не силен, поэтому будет очень здорово, если вы будете описывать их таким же доступным и содержательным языком. =)

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

Плюс, думаю, стоило отметить, что раз тег br не парный, то по правилам xhtml он пишется как <br/> , хотя в обычном html это не имеет разницы

Хотелось бы прокомментировать критику некоего Дмитрия на эту статью (мол, в чём соль/смысл и т.д.). Уважаемые ПРОФЕССИОНАЛЫ и прочие разбирающиеся в HTML, CSS и др.! Общайтесь на СВОИХ высокопрофессиональных блогах, форумах и иных ресурсах, где «чайник» вообще мало что поймёт по причине заточенности таких ресурсов именно на профессионалов. Но не мешайте этим самым новичкам (на ответы которым ПРОФЕССИОНАЛЫ снисходят крайне редко) постигать HTML на понятных им ресурсах (вот как ЭТОТ замечательный блог), где всё написано ДЛЯ ЛЮДЕЙ и человеческим, понятным языком. Огромное спасибо Автору за замечательные статьи, ПОНЯТНЫЕ новичкам.

Доброго вам дня.

А как сделать вокруг списка пунктирную рамку. Например вокруг блока ссылок, вначале матриала, на внутренние абзацы материала?

Здравствуйте, а не подскажете как на сайте (joomla) в главном меню поставить кнопку ссылку на сайт-магазин, . заранее спасибо.

Сергей: ну, там, вроде бы, при выборе типа пункта меню есть вариант «внешняя ссылка».

Спасибо, а то наслушался советчиков, а оказывается ответ прост.

У меня тег li почему то работает как одинарный. Если я пишу то это уже будет две цифры а не одна

Спасибо ребята за статью, благодаря вам разобрался с дурацкой ошибкой на W3C валидаторе

Как стилизовать список UL в одну строку

Я пытаюсь стилизовать список выходов wp_list_page, в основном я хотел бы обернуть каждую отдельную страницу в закругленную рамку. Все, что я, кажется, могу сделать, это стилизовать LI и UL на CSS, но я не работаю. Есть идеи, как это сделать? Спасибо

Дополнительные сведения см. в разделе Основные параметры списка и базовый горизонтальный список на сайте listamatic. (спасибо Даниэлю прямо ниже за ссылки).

Кроме того, как указывалось в комментариях, вы, вероятно, хотите, чтобы стиль на ul и любые элементы были внутри li и самих li, чтобы все выглядело красиво.

В современных браузерах вы можете сделать следующее (CSS3 совместимо)

Попробуйте также поэкспериментировать с чем-то подобным:

Я сделал кодовый код, чтобы проиллюстрировать: http://codepen.io/agm1984/pen/mOxaEM

в bootstrap используйте класс .list-inline css

Я хочу стилизовать одну строку и избежать определения форматеров для каждой ячейки моей строки. Существует ли эквивалент события onStyleRow для нового виджета Dojo dgrid ? Спасибо.

У меня есть неупорядоченный список,который я пытаюсь настроить во время выполнения, вызываемый стилем DropKick CSS. Вот изображение того, что я вижу: Я попытался стилизовать его так, что ничего не сделало со стилем: .dk_options ul li a < margin: 0; padding: 0; list-style-type: none; >.

Похожие вопросы:

Я пытаюсь сделать это упражнение в книге, Определение функции: onSeperateLines :: [String] -> String который принимает список строк и возвращает одну строку, которая при печати показывает строки.

Несмотря на то, что это простая проблема, я не могу понять, почему я не могу стилизовать вложенный ul. HTML: <div <ul> <li><a.

У меня есть такой список: <ul> <li <span>Label</span> <div multi-<br /> line<br /> content </div>.

Я пытаюсь стилизовать список выходов wp_list_page, в основном я хотел бы обернуть каждую отдельную страницу в закругленную рамку. Все, что я, кажется, могу сделать, это стилизовать LI и UL на CSS.

Я пытаюсь стилизовать UL горизонтально, но мой код будет работать только тогда, когда я удалю два встроенных DIV’s . Если я удалю div = thumb и div = button , то список будет выглядеть правильно. У.

Я хочу стилизовать одну строку и избежать определения форматеров для каждой ячейки моей строки. Существует ли эквивалент события onStyleRow для нового виджета Dojo dgrid ? Спасибо.

У меня есть неупорядоченный список,который я пытаюсь настроить во время выполнения, вызываемый стилем DropKick CSS. Вот изображение того, что я вижу: Я попытался стилизовать его так, что ничего не.

у меня есть элемент списка, и я хотел бы стилизовать 2 (или более) текстовых представления в одну строку. ———————————————— | | | TEXT_VIEW_1: FOO TEXT_VIEW_2: BAR | |.

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

У меня есть тег ‘ul’, который уже стилизует что-то другое. Мне нужно создать еще один тег ‘ul’, чтобы стилизовать что-то еще на моей странице HTML. Это первый стиль ul : ul < list-style: none;.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *