Как убрать отступ у списка слева css
Перейти к содержимому

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

  • автор:

Как сделать так, чтобы не было отступа на <li>

Я сделал кнопку на контейнер li. То есть нажимаешь на текст и оно выполняет свою функцию. Проблема лишь в одном. На кнопке стоит следующее значение: style = "left: 0px;", но всё же отступ есть(скриншот ниже). Подскажите пожалуйста, где я допустил ошибку в CSS.

Как дополнение скажу: пока настраивал код выше, добавил не все стили, отступа не было. Стили которые добавлял в код на показ: ul, a,li. После этого добавил ВСЕ стили и появился отступ

введите сюда описание изображения

Всё легко и просто, измените в li position: absolute; на position: fixed; .

ΝNL993's user avatar

Вам браузер всё ломает стилями по-умолчанию. У вас цвет фона в ul. Этот тег имеет обычное позиционирование. А body имеет padding и не позволяет прижаться серому фону ul к левому краю.

Тут несколько вариантов решений:

  1. сбрасывают все стили (reset.css), то есть все padding и margin = 0
  2. задают свой padding для body (например, 15px), а для элементов делают отрицательный margin-left и margin-right (соответственно -15px).
  3. Можно сделать нулевой отступ — body . Но тогда текст на мобильных будет прижиматься к краю экрана. А это некрасиво и неудобно читать. Поэтому нужно задавать padding для всех блоков с текстом.

Я чаще применяю вариант 3. Не люблю противоестественные отрицательные margin в варианте 2. И не люблю по несколько раз переписывать стили как в варианте 3, чтобы не нагружать процессор слабых устройств.

Оформление списков в CSS

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

Изменение и удаление маркеров

Для изменения стандартного внешнего вида маркера в CSS используется свойство list-style-type, в качестве значения задается тот вид маркера, на который вы хотите заменить стандартный.

Пример, демонстрирующий некоторые виды маркеров для нумерованных списков:

  1. Кликните на значение свойства list-style-type
  2. Наблюдайте за сменой маркеров
  3. Используйте для своих списков наиболее подходящие маркеры

Для маркированных списков существует всего три вида маркеров, которые можно задать с помощью значений circle, disk и squred:

С помощью значения none можно удалить маркеры у пунктов в списке, но отступ слева при этом все равно останется:

Замена маркеров картинками

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

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

Отступ списка

При удалении маркеров у пунктов списка можно также удалить или уменьшить размер левого отступа, устанавливаемый браузером по умолчанию. Для полного удаления отступа нужно будет воспользоваться свойством padding-left, которое позволяет регулировать внутренний отступ:

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

Свойство list-style-position указывает, должен ли маркер располагаться внутри или снаружи пунктов списка. Данное свойство может принимать два значения:

  • outside — маркер располагается слева от содержимого (является значением по умолчанию)
  • inside — маркер располагается внутри пункта списка вместе с содержимым

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

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

Отступ списка css

Для того, чтобы получился отступ слева, нужно добавить свойство margin-left к селектору ul или ol.

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

Получаем смещенный список от левого края. Это вертикальный список css.

Отступ списка css слева

Если нужно вывести список справа веб-страницы, то используйте свойство float для селектора ul — ul

Например, так выглядит список, если вставим в лист стилей эти строки:

Вывод списка на веб-странице справа

Нужно увеличить расстояние от маркера до текста

Для этого между маркером списка и текстом применяется свойство padding-left для селектора li.

И смотрим результат с расстоянием между маркером и текстом в 10 px:

Пример расстояния между маркером и текстом

Как выводить список в рамке

В селектор ul добавить стилевое свойство list-style-position: inside; и цвет, толщину рамки через сво-во border. Пример:

Посмотрите на внешний вид:

Список, оформленный в рамку.

Свойство list-style-position может иметь два значения:

inside — внутри блока;

outside — снаружи блока.

Для закругления углов и использования теней в селектор ul нужно добавить свойства border-radius и box-shadow.

Полный курс «Css практика»

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

Для тех, кто хочет очень быстро научиться трюкам css стилей, ]]> рекомендую ]]> расширенный курс «CSS практика» Евгения Попова.

Прочтите еще статьи на эту тему:

Как поменять css цвет маркера списка, чтобы его цвет был отличным от цвета текста.

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

Работа с отступами, со свойством float и со списками на CSS

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

Блок . Свойство margin

Итак, свойство margin задает отступ снаружи от границы элемента.

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

Для начала приведу вам два вложенных друг в друга блока без margin (они слипнутся и мы увидим двойную границу):

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

А теперь давайте зададим margin в 30px внутреннему блоку:

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

Для определенной стороны

Отступ margin можно также задавать для определенных сторон. Для этого существуют следующие свойства: свойство margin-left для левого отступа, margin-right для правого, margin-top для верхнего и margin-bottom для нижнего.

Давайте поставим левый отступ в 30px с помощью margin-left:

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

А теперь верхний отступ в 30px с помощью margin-top:

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

А сейчас одновременно правый отступ 30px с помощью margin-right и нижний отступ 10px с помощью margin-bottom

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

Блок . Альтернативный вариант для разных сторон

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

Четыре значения

Давайте посмотрим на примере, как работает margin, когда ему задано четыре значения. Пусть у нас сделано так: margin: 10px 20px 30px 40px. В этом случае 10px это отступ сверху, 20px — справа, 30px — снизу, 40px — слева. То есть мы начинаем сверху и идем по часовой стрелке: верх-право-низ-лево.

Этому правилу следует подавляющее большинство CSS свойств (кроме border-radius, у него все начинается с верхнего левого угла и тоже идет по часовой стрелке, то есть, в принципе, и тут все похоже).

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

Два значения

Если передать свойству margin два значения, то первое будет задавать отступ одновременно сверху и снизу, а второе — одновременно и справа, и слева.

Давайте посмотрим пример:

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

Три значения

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

Давайте посмотрим пример:

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

Значение auto

Свойство margin применяется не только для задания отступов, но и для центрирования блочных элементов. Для этого правый и левый margin следует задать в значение auto.

В примере ниже внутренний блок станет по центру:

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

Имейте ввиду, что таким образом можно центрировать только блочные элементы (для строчных используйте text-align), только по горизонтали и только, если им задана ширина.

Давайте перепишем пример в сокращенной форме через одно свойство-сокращение margin (первое значение будет задавать верх-низ, а втрое — право-лево):

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

Если нам нужны разные верхний и нижний отступ margin, то можно передать три значения: первое задаст верхний отступ, третье — нижний, а второе задаст значение auto для правого и левого отступов:

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

В принципе, можно написать и четыре значения таким образом: margin: 30px auto 10px auto, но с тремя значениями писать все-таки меньше (зато сложнее понять).

Блок . Свойство padding

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

Работает оно по такому же принципу — есть свойства padding-left, padding-right, padding-top и padding-bottom, которые задают отступ для разных сторон. Также для свойства padding можно задавать 1, 2, 3 или 4 значения по такому же принципу, как и в margin.

Единственное отличие — это то, что значения auto для свойства padding не существует.

Давайте теперь посмотрим на примерах, как работает свойство padding. Для начала приведу блок без отступов (у него текст прилип к границам):

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

А теперь зададим padding в 30px для всех сторон:

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

Свойство padding для определенной стороны

Давайте зададим отступы, используя padding-left, padding-right, padding-top и padding-bottom:

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

Блок . Свойство padding для разных сторон

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

Четыре значения

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

Два значения

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

Три значения

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

Блок . Расширение элемента

По умолчанию добавление padding расширяет элемент: если мы задали ширину width 100px и padding-left в 20px, то реальная ширина элемента будет 120px. А если мы зададим еще и border-left в 10px, то реальная ширина элемента станет 130px. То есть и padding, и border расширяют блок (и по ширине, и по высоте).

В следующем примере оба блока имеют одинаковую высоту и ширину, однако у второго блока padding задан, а у первого — нет. Посмотрите, как отличаются их размеры:

А сейчас оба блока имеют одинаковую высоту и ширину, однако у второго блока задана граница в 20px, а у первого — нет. Посмотрите, как отличаются их размеры:

Блок . Свойства outline и box-sizing

Если вам мешает расширение блоков из-за padding и границы, их поведение можно исправить свойствами outline (используется вместо границы) и box-sizing (отменяет расширение блоков).

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

Блок . Работа с маркерами списков

Мы с вами еще в начале книги разбирались со списками ul и ol и вы наверняка помните о том, что список ul имеет маркеры в виде точек, а ol — в виде цифр. Однако, вид этих маркеров можно сменить или даже убрать их совсем.

Например, для списка ul можно сделать маркеры в виде квадратов или кружков, а для списка ol — нумерацию не только в виде цифр, а в виде латинских или греческих букв.

Делается это с помощью свойства list-style-type. Давайте посмотрим, какие значения оно может принимать для списка ul:

Значение square

Значение square позволяет сделать маркеры в виде квадратиков:

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

  • Первый пункт.
  • Второй пункт.
  • Третий пункт.
  • Четвертый пункт.
  • Пятый пункт.

Значение circle

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

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

  • Первый пункт.
  • Второй пункт.
  • Третий пункт.
  • Четвертый пункт.
  • Пятый пункт.

Значение disc

Значение disc делает маркеры в виде закрашенных кружков (это значение по умолчанию):

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

  • Первый пункт.
  • Второй пункт.
  • Третий пункт.
  • Четвертый пункт.
  • Пятый пункт.

Значение none

Значение none убирает маркеры совсем:

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

  • Первый пункт.
  • Второй пункт.
  • Третий пункт.
  • Четвертый пункт.
  • Пятый пункт.

Значения для списка ol

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

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

  1. Первый пункт.
  2. Второй пункт.
  3. Третий пункт.
  4. Четвертый пункт.
  5. Пятый пункт.

А теперь сделаем нумерацию не числами, а маленькими латинскими буквами:

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

  1. Первый пункт.
  2. Второй пункт.
  3. Третий пункт.
  4. Четвертый пункт.
  5. Пятый пункт.

Весь список возможных значений для ol очень большой и я не буду приводить его здесь. Смотрите его в справочнике CSS для свойства list-style-type.

Блок . Маркер в виде картинки

Можно также задавать свои маркеры. Для этого необходимо иметь картинку, которую вы бы хотели сделать для маркеров списка, и подключить ее с помощью свойства list-style-image: url(«путь к картинке»).

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

  • Первый пункт.
  • Второй пункт.
  • Третий пункт.
  • Четвертый пункт.
  • Пятый пункт.

Блок . Позиция маркеров списков

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

Чтобы понять, что имеется ввиду, давайте разберем следующий пример. В данном случае тегу ul обнулен padding и, казалось бы, маркеры списка должны прижиматься к границе блока, но они вылазят наружу! Это говорит о том, что не они реагируют на padding, а текст списка:

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

  • Первый пункт.
  • Второй пункт.
  • Третий пункт.
  • Четвертый пункт.
  • Пятый пункт.

Такое поведение можно поменять, если воспользоваться свойством list-style-position, которое принимает два значения: outside (то, что мы видим по умолчанию) и значение inside, которое делает так, что маркеры оказываются внутри списка:

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

  • Первый пункт.
  • Второй пункт.
  • Третий пункт.
  • Четвертый пункт.
  • Пятый пункт.

Блок . Свойство list-style

Существует также свойство-сокращение list-style, которое позволяет одновременно задать тип маркера, его позицию и картинку.

Блок . Ограничение высоты и ширины

Блок . Свойство display

Посмотрите видео по работе со свойством display. Это нужно сделать обязательно, иначе вы не сможете решать практические задачи.

Блок . Свойство float

Посмотрите видео по работе со свойством float. Это нужно сделать обязательно, иначе вы не сможете решать практические задачи.

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

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