CSS и вёрстка

Как сдвинуть текст в css

📅 ⏱ 22:05 ⏳ 1 мин 💬 0

Как сдвинуть текст в css: простыми словами, по шагам и с примерами. Разбираем, как это работает на практике, типичные ошибки и лучшие решения. Раскрываем тему:

Коротко: сдвинуть текст в CSS можно четырьмя способами — внутренний отступ, внешний отступ, смещение и трансформация. Каждый решает свою задачу. Ниже — какой выбрать, с примерами, сценариями и проверкой знаний.

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

Главное различие: «внутри» и «снаружи»

Прежде чем что-то двигать, ответьте на один вопрос: мы двигаем сам блок или текст внутри блока?

  • Двигаем содержимое внутри — используем padding (внутренний отступ).
  • Двигаем блок целиком среди соседей — используем margin (внешний отступ).
  • Нужна «красная строка» — text-indent.
  • Нужно подвинуть «на глаз», не сдвигая соседей — transform: translate() или position.
Инструмент Что двигает Влияет на соседей Когда использовать
padding содержимое внутри нет отодвинуть текст от края
margin весь блок да расстояние между блоками
text-indent первую строку нет красная строка
transform визуально нет точная мелкая правка

Вкладки: четыре способа с кодом




CSS
.text {
  padding-left: 24px;    /* сдвинуть текст вправо */
  padding-right: 24px;   /* сдвинуть текст влево */
}

Самый предсказуемый способ. Фон блока при этом закрашивает и отступ.

CSS
.block {
  padding-top: 12px;
  padding-bottom: 12px;
}

Если нужно сдвинуть вниз весь блок, а не текст — используйте margin-top.

CSS
p {
  text-indent: 3em;   /* 1em ≈ высота шрифта */
}

Работает только на первую строку абзаца. Классическая «красная строка».

CSS
.text {
  display: inline-block;
  transform: translateY(2px);   /* опустить ровно на 2px */
}

Сдвиг «визуальный»: соседние элементы остаются на месте.

Практика: три частые задачи

1. Заголовок с отбивкой слева

  1. Задайте заголовку левый внутренний отступ.
  2. Добавьте декоративную линию слева (псевдоэлемент или border-left).
CSS
.title {
  padding-left: 16px;
  border-left: 4px solid #003F8F;
}

2. Кнопка с «воздухом» внутри

CSS
.btn { padding: 12px 24px; } /* текст не прилипает к краям */

Это внутренний отступ: визуально кнопка становится крупнее, но её положение среди соседей не меняется.

3. Иконка чуть ниже текста

CSS
.icon { display: inline-block; transform: translateY(1px); }

Один-два пикселя — и иконка «садится» на базовую линию текста.

Не делайте такНе сдвигайте большие блоки «на глаз» десятками пикселей через position: relative — на другом экране всё «поедет». Для расстояний используйте margin/padding, а точечные сдвиги — только на 1–3 px.

Частые ошибки: причина → решение

Симптом Причина Решение
Текст прилип к краю нет padding добавить внутренний отступ
Блок «наехал» на соседний использован margin, а нужно «внутри» заменить на padding
Сдвинулось всё вокруг меняли margin вместо transform использовать translate
На телефоне «уехало» большой фиксированный отступ относительные единицы + медиазапросы

Проверьте себя

Чек-лист





Как отодвинуть текст от левого края кнопки, не меняя её место среди соседей?




Вопросы и ответы

padding — отступ внутри (фон закрашивается), margin — снаружи (фон не закрашивается).

Через text-indent — он действует только на первую строку абзаца.

Вы меняли margin (влияет на поток). Для сдвига без последствий — transform: translate().

em/rem масштабируются вместе со шрифтом — удобно и доступно. px — когда нужна фиксированная точность.

Добавьте margin-top, если допустимо сдвинуть соседей, или position: relative; top: 4px, если нужно только визуально.

Итоги

  • Внутри блока — padding, снаружи — margin.
  • Красная строка — text-indent.
  • Точная правка — transform: translate().
  • Не двигайте большие блоки «на глаз» — проверяйте адаптив.
Поделиться: ВКонтакте Telegram WhatsApp Одноклассники Viber Мой Мир

Комментарии

Пока комментариев нет — будьте первым, кто поделится мнением.

Оставить комментарий

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

Получите консультацию нашего маркетолога

Изучит ваш проект, подберет подходящие услуги и тарифы

Получите бесплатный аудит

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

Закажите услугу Каталог морепродуктов

Наш специалист свяжется с вами в ближайшее время и уточнит детали

Закажите адаптивный сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт лендинг

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт каталог

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите интернет-магазин

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите веб-приложение

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите тариф Аутсорс

Стоимость от 150 000 ₽

Закажите тариф Магазин

Стоимость 90 000 ₽

Закажите тариф Классический

Стоимость 60 000 ₽

Закажите тариф Эконом

Стоимость 40 000 ₽

Закажите SEO продвижение

Наш специалист свяжется с вами, проведет анализ, предложит стоимость