Как сделать отступ в списке в html

от admin

Стилизация списков

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

Требования: Базовая компьютерная грамотность, основы HTML (изучите Введение в HTML), основы CSS (изучите Введение в CSS), CSS основы по тексту и шрифтам.
Цель: Познакомиться с лучшими практиками и свойствами по стилизации списков.

Пример простого списка

Для начала, давайте взглянем на пример простого списка. В данной статье мы рассмотрим ненумерованный, нумерованный и описательный списки — все они имеют аналогичные свойства стилизации, но некоторые имеют свои специальные свойства. Не стилизованный пример доступен на Github (проверьте также источник кода.)

HTML для нашего примера списка представлен ниже:

Если вы перейдёте к живому примеру прямо сейчас и изучите элемент списка используя инструменты разработчика браузера, то вы заметите несколько стилей установленных по умолчанию:

  • Элементы <ul> и <ol> имеют верхний и нижний margin по 16px ( 1em ) и padding-left 40px ( 2.5em .)
  • Объекты списка (элементы <li> ) не имеют заданных значений по умолчанию для интервалов.
  • Элемент <dl> имеет верхний и нижний margin по 16px ( 1em ), но padding не задан.
  • Элементы <dd> имеют margin-left 40px ( 2.5em .)
  • Элементы <p> которые мы включили для ссылок (сноски) имеют верхний и нижний margin по 16px ( 1em ), точно так же, как и различные типы списков.

Управление интервалами списков

При оформлении списков, вам необходимо настроить их стили так, чтоб они сохраняли то же вертикальное расстояние, что и окружающие их элементы (такие как параграфы и изображения; иногда называемые вертикальным ритмом) и то же расстояние по горизонтали как и между собой (посмотреть законченный стилизированный пример на Github, а также найти исходный код.)

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

  • Первое правило устанавливает шрифт сайта и основной размер шрифта 10px. Они наследуются всеми на этой странице.
  • Правила 2 и 3 задают относительные размеры шрифтов заголовков, различных типов списков (их наследуют дочерние элементы списков) и параграфов. Это значит, что каждый параграф и список будут иметь одинаковый размер шрифта, а также верхний и нижний интервалы, помогая сохранить согласованность вертикального ритма.
  • Правило 4 задаёт одинаковую высоту line-height в параграфах и пунктах списка — так, что параграфы и каждый отдельный пункт списка будут иметь те же интервалы между строками. Это также поможет сохранить согласованность вертикального ритма.
  • Правила 5 и 6 применяются к списку описаний — мы задаём одинаковую высоту line-height между терминами и описаниями списке описаний как мы это делали с параграфами и пунктами списка. И снова, согласованность хорошая! Мы также делаем описание терминов жирным шрифтом, чтобы они визуально выделялись легче.

Стили специфичные для списков

Теперь, рассмотрев общие методы интервалов для списков, давайте изучим некоторые специфичные спискам свойства. Существует три свойства, с которых вам надо начать знакомство, которые могут быть установлены для элементов <ul> или <ol> :

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

Стили маркеров

Как указано выше, свойство list-style-type (en-US) позволяет вам устанавливать какой тип маркера использовать в качестве точек маркера. В нашем примере мы установили использование заглавных римских цифр в упорядоченном списке:

Это даёт нам следующий вид:

Вы можете найти гораздо больше опций, заглянув на справочную страницу list-style-type (en-US).

Позиция маркера

Свойство list-style-position (en-US) устанавливает будет ли появляться маркер внутри пунктов списка или снаружи перед началом каждого пункта. Значение по умолчанию — outside , которое заставляет маркеры находится снаружи пунктов списка, как видно выше.

Если вы установите значение на inside , то маркеры будут находиться внутри строк:

an ordered list with the bullet points set to appear inside the list item text.

Использование пользовательского изображения как маркер

Свойство list-style-image позволяет вам использовать пользовательское изображение в качестве вашего маркера. Синтаксис довольно прост:

Однако это свойство немного ограничено с точки зрения управления позициями, размерами (и т.д.) маркеров. Вам лучше использовать семейство свойств background , о которых вы узнаете намного больше в модуле Styling boxes. А пока вот вам образец для дегустации!

В нашем законченном примере мы оформили неупорядоченный список следующим образом (поверх того, что вы уже видели выше):

Мы сделали следующее:

  • Установили padding-left элемента <ul> с 40px по умолчанию на 20px , затем установили то же самое количество в пунктах списка. Это для того, чтобы все пункты списка продолжали выравниваться с порядком пунктов списка и описаний списка описаний, но пункты списка имеют некоторый padding для фоновых изображений чтобы сидеть внутри. Если бы мы не сделали этого, то фоновые изображения накладывались бы с текстом пунктов списка, что выглядело бы неряшливо.
  • Установили list-style-type (en-US) на none , для того чтобы маркеры не появлялись по умолчанию. Мы собираемся использовать свойства background для управления маркерами.
  • Вставили маркер в каждый пункт неупорядоченного списка. Соответствующие свойства, следующие:
      : Указывает путь к файлу изображения, который вы хотите использовать в качестве маркера. : Определяет где в фоне выбранного элемента появится изображение — в данном случае мы говорим 0 0 , что значит что маркер будет появляться в самом верху слева каждого пункта списка. : Задаёт размер фонового изображения. В идеале мы хотим, чтоб маркеры были того же размера что и пункты списка (или самую малость меньше или крупнее). Мы используем размер 1.6rem ( 16px ), что очень хорошо сочетается с отступом (padding) 20px , который мы позволили разместить внутри маркера — 16px плюс 4px интервала между маркером и текстом пункта списка работают хорошо. : По умолчанию, фоновые изображения повторяются пока не заполнят доступное фоновое пространство. Мы хотим всего лишь одну копию вставленного изображения в каждом случае, поэтому мы установили значение no-repeat .

    Это даёт нам следующий результат:

    an unordered list with the bullet points set as little star images

    короткая запись list-style

    Эти три свойства упомянутые выше могут все быть заданы, используя лишь одну короткую запись свойства, list-style (en-US). Например, следующий CSS:

    Может быть заменён этим:

    Значения могут быть перечислены в любом порядке, и вы можете использовать одно, два и все три (значения по умолчанию, использованные для свойств, которые не включены — disc , none , и outside ). Если указаны и type и image , тип используется в качестве запасного варианта, если изображение по какой-либо причине не может быть загружено.

    Контроль счета списка

    Иногда вам может понадобиться вести счёт в упорядоченном списке по-другому — например начинать с цифры отличной от 1, или считать в обратном порядке, или вести счёт с шагом больше 1. HTML и CSS имеют несколько инструментов которые помогут с этим.

    start

    Атрибут start позволит вам начать счёт списка с цифры отличной от 1. Например:

    что даст вам такой результат:

    reversed

    Атрибут reversed начнёт отсчёт по убыванию вместо возрастания. Например:

    что даст вам такой результат:

    Примечание: Если пунктов в списке в обратном списке больше, чем значение атрибута start , счёт продолжится до нуля и далее отрицательные значения.

    value

    Атрибут value позволит вам установить специфичные цифровые значения к пунктам списка. Например:

    что даст вам такой результат:

    Примечание: Даже если вы используете нечисловой list-style-type (en-US), вам всё равно надо использовать эквивалентное цифровое значение в атрибуте value .

    Активное изучение: Стилизация вложенного списка

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

    1. Задали неупорядоченному списку квадратные маркеры.
    2. Задали пунктам неупорядоченного и упорядоченного списка 1,5 межстрочный интервал их размера шрифта.
    3. Задали упорядоченному списку маркеры в виде строчных букв.
    4. Не стесняйтесь играться с примерами списков столько сколько вам нравится, экспериментируя с типами маркеров, интервалами или со всем что вы найдёте.

    Если вы допустите ошибку, вы всегда можете сделать сброс используя кнопку Reset. Если вы застрянете, нажмите кнопку Show solution чтобы посмотреть возможный ответ.

    Смотрите также

    Счётчики CSS предоставляют расширенные инструменты для настройки счета и оформления списков, но они довольно сложные. Мы рекомендуем изучить это, если вы захотите размяться. Смотрите:

    Заключение

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

    Организация отступов в верстке (margin/padding)

    Цель этой статьи не усложнить простые вещи, а акцентировать внимание на известных стандартах, о которых почему-то забывают. Важно соблюдать осмысленную структуру во всех аспектах верстки, и не менее важно придерживаться ее в отступах. И одним из основных принципов верстки является гибкость. А именно, возможность легко вносить какие-либо изменения и ничего при этом не сломать. Правильное обращение с margin и padding играет очень большую роль в этом деле.

    Ниже перечисленные принципы выполняются в среде позиционирования элементов на странице. В элементах декора тоже выполняются. Но не так категорично.

    Основные принципы:

    1. Отступы идут от предыдущего элемента к следующему.
    2. Отступ задается последнему возможному элементу в доме.
    3. Отступы нельзя задавать для независимых элементов ( БЭМ блок ).
    4. У последнего элемента группы, отступ обнуляется (всегда).

    Отступы идут от предыдущего элемента к следующему.

    margin(ы) задаются от предыдущего элемента к следующему, от первого ко второму, сверху вниз, слева направо.

    Это значит.что такие свойства как margin-left и margin-top не используются (не без исключений). С padding все немного наоборот (кроме того, что он используется для, декоративных целей, увеличения области ссылки и т.д.). Когда блоку нужен отступ сверху или слева, он его получает за счет padding-top и padding-left родителя.

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

    Отступ задается последнему возможному элементу в доме

    margin(ы) задаюся только между соседними элементами дом дерева.

    В примере 3 списка, в следующей структуре:

    Не за счет дочерних элементов, а за счет соседних делается отступ.

    В этой ситуации .main-section__item и является последним возможным, кому можно задать отступ, чтоб разделить списки. Такого же эффекта можно добиться, если задать отступ диву, списку, лишке, ссылке, но это будет не правильно.

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

    Если взять пример с заголовком, и нужно сделать отступ для заголовка сверху. то последний элементом будет section и для него задается padding-top, margin(ы) которые стоят по дефолту всегда нужно обнулять.

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

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

    Отступы нельзя задавать для независимых элементов ( БЭМ блок )

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

    Если нужно сделать блоку отступ. Без ущерба это делается с помощью:

    • Наследование через элемент (если вытащить этот блок с элемента, отступа не будет, и его можно будет просто разместить в другом месте).
    • Добавление класса (можно сделать блок элементом).
    • Обертка (как блок, у которого роль, только в позиционировании).

    У последнего элемента группы, отступ обнуляется (всегда)

    Возьмем для примера список и изображение.

    Это горизонтальное меню и логотип (который почему-то справа).

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

    Для последней li отступ обнуляется. И отступ делается между соседними элементами ul и img . О чем говорилось во втором принципе.

    Возьмем другой пример:

    Интересует нас отступ между новостями, которые задается .blog-preview__item < margin-bottom: 20px; >. Последний margin обнуляется, а нижний отступ делается за счет padding blog-preview . О чем говорилось во втором принципе.

    Чаще чем другие псевдоклассы, надо использовать :last-child.

    Исключения

    • В первую очередь это добавление текстового контента через админку. Здесь отлично справляется подход к отступам заданный браузером. Но этот подход нельзя считать подходящим в обычной верстке как и несколько <br> в коде подряд.
      />
    • «Динамические элементы». Когда элемент появляется после какого-то блока, то он появится со своим отступом.
    • Иногда вертикальные падинги лучше задавать дочерним блокам, нежели всей секции. Если в перспективе, на других страницах в том же месте, это относится ко второму принципу, задавать отступ для последнего возможного, вот иногда секция последний, но не возможный.
    • Отрицательные маргины, auto, padding для контейнера.

    Как сделать отступ в списке в html

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

    У нас есть три элемента div. Первые два — со свойством HTML margin, а третий — со свойством padding. Расстояние между элементами div — это margin, а пространство между текстом внутри третьего элемента div и линией его границы — это padding.

    Синтаксис CSS padding и margin

    Синтаксис, который используется для единичного объявления свойства CSS margin:

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

    10px — отступ сверху;
    20px — отступ справа;
    30px — отступ снизу;
    40px — отступ слева.

    Также можно установить margin left HTML и другие направления отдельно:

    Примечание: Можно использовать для определения отступа px, pts, cm и т.д.

    Синтаксис свойства CSS padding

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

    Единичное объявление с одним значением:

    Для каждого направления одиночным объявлением:

    Если указаны четыре значения, то порядок их следования такой же, как и для свойства HTML CSS margin.

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

    Ниже приведен html код, который формирует отступ текста с использованием text-indent. Из примера видно, что задавая для text-indent разные значения аргументов, мы можем изменять величину отступа текста:

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

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

    Почему кто-то использует вкладки

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

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

    Видео обзор по теме HTML отступ текста

    Например, если нам необходимо расставить отступы для заголовков и текста внутри статьи, то для заголовка первого уровня зададим отступ снизу в 20px, а для заголовка второго уровня отступ сверху 20px и снизу 10px, а для всех параграфов зададим отступ сверху 10px.

    h2 <
    margin-top: 24px;
    margin-bottom: 12px;
    >

    Использование CSS для создания вкладок и интервалов HTML

    Сегодня сайты построены с разделением структуры и стиля. Структура страницы обрабатывается HTML, а стиль продиктован CSS. Это означает, что для создания интервала или достижения определенного макета вам следует обратиться к CSS и не пытаться просто добавить символы интервала к HTML коду.

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

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

    Поля, отступы и текст-отступ

    Наиболее распространенные способы создания интервала с CSS — это использование одного из следующих стилей CSS:

    Например, вы можете отложить первую строку абзаца, как вкладку со следующим CSS, где обратите внимание, что это предполагает, что ваш абзац имеет атрибут класса «first», прикрепленный к нему.

    Этот абзац теперь будет иметь отступ в 5 символов

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

    Перемещение текста более одного места без CSS

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

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

    В оформлении веб-страниц это встречается не так часто, но все же встречается и для того чтобы закрыть эту потребность вам нужно знать лишь одно свойство text-indent: 10%; которое я применю к следующему абзацу при помощи этого кода:

    Как сделать внутренний и внешний отступ у элементов в HTML-разметке на CSS?

    Сегодня мы поговорим с вами немного о принципах верстки, а именно – о способах организации отступа на вашем сайте у определенных элементов.

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

    Если вы еще только создаете свой сайт, то я рекомендую вам в верх вашего главного файла стилей вставить следующие свойства:

    Зачем это нужно, спросите вы? Отвечаю на ваш вопрос наглядным примером.

    Допустим, у вас есть такой элемент верстки:

    Так будет выглядеть вариант без использования описанных выше свойств (верхний элемент) и с их использованием (нижний элемент):

    Как сделать внутренний и внешний отступ у элементов в HTML-разметке на CSS?

    Что здесь видно? Что ширина элемента в первом варианте (без использования свойств) стала больше указанной за счет добавленных отступов, что является не совсем удобным и правильным в плане верстки.

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

    А теперь, собственно, поговорим о вариантах организации отступов у элементов на вашем сайте с наглядными примерами.

    Внутренний отступ с помощью CSS-свойства «padding»

    Чтобы вы понимали всю логику вещей, возьмем для примера следующий фрагмент верстки:

    со своими стилями:

    Визуальный вариант получается таким:

    Как сделать внутренний и внешний отступ у элементов в HTML-разметке на CSS?

    Что из себя представляет свойство «padding»? Оно помогает организовать внутренний отступ в указанных элементах. Добавим к нашей верстке внутренний отступ, равный 10px:

    Визуально это получается так:

    Как сделать внутренний и внешний отступ у элементов в HTML-разметке на CSS?

    Число 10 в свойстве говорит о том, что внутри указанных элементов с каждой из их четырех сторон необходимо добавить отступ, равный 10px. Пиксели (px) могут быть заменены на проценты или другую поддерживаемую в CSS величину.

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

    Первый – это с явным указанием сторон:

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

    Здесь идет простое перечисление значений, каждое из которых соответствует своей стороне. Стороны задаются так: первое значение – верх, второе – право, третье – низ и четвертое – лево, то есть все по часовой стрелке.

    Если значения два[/b] (верх и право), то это значит, что зеркально эти же значения уходят вниз и влево и только так. Вроде бы все понятно. Если для какой-то из сторон вам не нужно задавать отступ – значение для этой стороны выставляете «0». Этот вариант мне нравится больше, так как он более компактный, но в своих начинаниях я использовал именно первый вариант.

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

    Внешний отступ с помощью CSS-свойства «margin»

    Отличительная особенность свойства «margin» – это то, что отступ добавляется вне элемента, то есть внешний.

    Вариантов добавления здесь также два.

    Первый – с явным указанием стороны:

    Второй – с перечислением значений, каждое из которых соответствует своей стороне:

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

    Используем margin со следующим значением:

    Визуально это будет выглядеть так:

    Как сделать внутренний и внешний отступ у элементов в HTML-разметке на CSS?

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

    Важная особенность: если вы внимательно смотрели на результат, то могли заметить, что соседние отступы у элементов не суммируются. То есть если первый элемент имеет внешний нижний отступ, равный 10px, а второй – внешний верхний отступ с этим же значением, то общее расстояние между ними будет равно также 10px. Если 10 и 15 соответственно, то общее – 15 и так далее.

    Этот вариант отступов часто используется в тексте, а именно в оформлении параграфов, а также в элементах, которые имеют видимые границы.

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

    Читать:
    Сколько трехзначных чисел от 100 до 999

Похожие статьи