Spec-Zone.ru › CSS

Свойство CSS `text-indent`

Базовая поддержка Широко поддерживается

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

Свойство text-indent CSS задаёт длину пустого пространства (отступа), которое располагается перед строками текста в блочном элементе.

Попробуйте

text-indent: 0;
text-indent: 30%;
text-indent: -3em;
text-indent: 3em each-line;
text-indent: 3em hanging;
text-indent: 3em hanging each-line;
<section id="default-example">
  <div id="example-element">
    <p>
      This text is contained within a single paragraph. This paragraph is two
      sentences long.
    </p>
    <p>
      This is a new paragraph. There is a line break element
      <code>&lt;br&gt;</code> after this sentence.<br />There it is! Notice how
      it affects the indentation.
    </p>
  </div>
</section>
section {
  font-size: 1.25em;
  background-color: darkslateblue;
  align-items: start;
}

#example-element {
  text-align: left;
  margin-left: 3em;
  background-color: slateblue;
  color: white;
}

Синтаксис

/* <length-percentage> values */
text-indent: 3mm;
text-indent: 40px;
text-indent: 15%;

/* with keyword values */
text-indent: 5em each-line;
text-indent: 5vb hanging;
text-indent: 5% hanging each-line;

/* Global values */
text-indent: inherit;
text-indent: initial;
text-indent: revert;
text-indent: revert-layer;
text-indent: unset;

Значения

<length>
Отступ задаётся как абсолютная <length>. Допускаются отрицательные значения. Возможные единицы измерения см. в разделе о значениях <length>.
<percentage>
Отступ задаётся в виде <percentage>. Процентное значение относительно внутреннего размера контейнера по строчной оси.
each-line
Отступ применяется к первой строке блочного контейнера, а также к каждой строке после принудительного разрыва строки, но не применяется к строкам после автоматического переноса строки.
hanging
Инвертирует строки, к которым применяется отступ. Отступ будет у всех строк, кроме первой.

Описание

Свойство text-indent CSS задаёт длину пустого пространства (отступа), которое располагается перед строками текста в блочном контейнере. Отступ, заданный этим свойством, начинается у начального края по строчной оси блока содержимого. Значение представляет собой <length-percentage>, за которым могут следовать одно или оба ключевых слова each-line и/или hanging. Начальное значение — 0.

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

Значение <length-percentage> может быть положительным или отрицательным. Отрицательное значение создаёт выступ, равный абсолютному значению соответствующего положительного значения <length-percentage>. По сути, отрицательное значение смещает текст на величину этого значения, но в противоположном направлении. Например, text-indent: 3%; задаёт отступ первой строки текста, добавляя перед ней пустое пространство размером 3% от внутреннего размера контейнера и смещая первую строку содержимого в направлении конечного края по строчной оси. Значение text-indent: -3% создаёт выступ первой строки текста, смещая её начало на 3% от внутреннего размера контейнера за начальный край области содержимого — во внутренний отступ и границу, что может привести к выходу за пределы контейнера.

Отрицательное значение отличается от добавления ключевого слова hanging к положительному значению. Продолжая тот же пример, text-indent: 3% hanging не создаёт выступ первой строки текста, а задаёт отступ всем строкам текста, кроме первой, на 3% от внутреннего размера контейнера.

Формальное определение

Начальное значение 0
Применяется к блочным контейнерам
Наследуется да
Проценты относительно ширины содержащего блока
Вычисленное значение процентное значение в заданном виде или абсолютная длина, а также любые ключевые слова в заданном виде
Тип анимации $1$, <a href="/en-US/docs/Web/CSS/Reference/Values/percentage#interpolation" title="Значения CSS-типа данных <percentage> интерполируются как действительные числа с плавающей запятой.">percentage</a> или calc();

Формальный синтаксис

text-indent = 
  <length-percentage> &&
  hanging? &&
  each-line?

<length-percentage> = 
  <length> |
  <percentage>

Примеры

Основное использование

В этом примере показано основное использование свойства text-indent.

HTML

Добавим два абзаца текста.

<p>
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</p>
<p>
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</p>

CSS

Используем свойство text-indent, чтобы задать отступ первой строки каждого абзаца величиной 5em.

p {
  text-indent: 5em;
  background: powderblue;
}

Результат

Процентный отступ

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

<p>
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</p>
<p>
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</p>

CSS

Зададим для text-indent процентное значение. Кроме того, добавим внутренние отступы и вертикальные полосы, чтобы было проще оценить размер отступа относительно блочной модели элемента.

p {
  text-indent: 30%;

  padding: 30px;
  background-image: repeating-linear-gradient(
    to right,
    transparent 0 9.5%,
    #dedede 9.5% 10%
  );
  background-color: plum;
}

Результат

Без отступа у первого абзаца

В типографике принято не задавать отступ первому абзацу, если у последующих абзацев он есть. Как сказано в Chicago Manual of Style: «Первая строка текста после подзаголовка может начинаться от левого края или иметь обычный абзацный отступ».

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

HTML

<h2>Lorem ipsum</h2>

<p>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse eu
  venenatis quam. Vivamus euismod eleifend metus vitae pharetra. In vel tempor
  metus. Donec dapibus feugiat euismod. Vivamus interdum tellus dolor. Vivamus
  blandit eros et imperdiet auctor. Mauris sapien nunc, condimentum a efficitur
  non, elementum ac sapien. Cras consequat turpis non augue ullamcorper, sit
  amet porttitor dui interdum.
</p>

<p>
  Sed laoreet luctus erat at rutrum. Proin velit metus, luctus in sapien in,
  tincidunt mattis ex. Praesent venenatis orci at sagittis eleifend. Nulla
  facilisi. In feugiat vehicula magna iaculis vehicula. Nulla suscipit tempor
  odio a semper. Donec vitae dapibus ipsum. Donec libero purus, convallis eu
  efficitur id, pulvinar elementum diam. Maecenas mollis blandit placerat. Ut
  gravida pellentesque nunc, in eleifend ante convallis sit amet.
</p>

<h2>Donec ullamcorper elit nisl</h2>

<p>
  Donec ullamcorper elit nisl, sagittis bibendum massa gravida in. Fusce tempor
  in ante gravida iaculis. Integer posuere tempor metus. Vestibulum lacinia,
  nunc et dictum viverra, urna massa aliquam tellus, id mollis sem velit
  vestibulum nulla. Pellentesque habitant morbi tristique senectus et netus et
  malesuada fames ac turpis egestas. Donec vulputate leo ut iaculis ultrices.
  Cras egestas rhoncus lorem. Nunc blandit tempus lectus, rutrum hendrerit orci
  eleifend id. Ut at quam velit.
</p>

<p>
  Aenean rutrum tempor ligula, at luctus ligula auctor vestibulum. Sed
  sollicitudin velit in leo fringilla sollicitudin. Proin eu gravida arcu. Nam
  iaculis malesuada massa, eget aliquet turpis sagittis sed. Sed mollis tellus
  ac dui ullamcorper, nec lobortis diam pellentesque. Quisque dapibus accumsan
  libero, sed euismod ipsum ullamcorper sed.
</p>

CSS

p {
  text-align: justify;
  margin: 1em 0 0 0;
}
p + p {
  text-indent: 2em;
  margin: 0;
}

Результат

Спецификации

Спецификация
Модуль CSS Text уровня 3
# свойство text-indent

Совместимость с браузерами

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari на iOS Samsung Internet WebView для Android WebView на iOS
text-indent
1
12
1
3.5
1
18
4
14
1
1.0
4.4
1
each-line
146
146
121
130
15
146
121
97
15
Нет
146
15
hanging
146
146
121
130
15
146
121
97
15
Нет
146
15

См. также

  • Связанные свойства CSS:
    • text-justify
    • text-orientation
    • text-overflow
    • text-rendering
    • text-transform
    • hanging-punctuation
  • Модуль декоративного оформления текста CSS
  • Модуль текста CSS
  • Узнайте, как оформлять HTML с помощью CSS

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/text-indent

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API