text-indent
text-indent наследуется, применяется к блочным элементам, изменяет текст и строчные элементы | ||
0
| ||
наследует значение родителя | ||
наследует значение родителя |
<style> div { text-indent: 0; } </style> <div><code>text-indent</code> наследуется, применяется к блочным элементам, изменяет текст и строчные элементы</div>
Что такое text-indent
CSS
Положительное значение свойства text-indent
определяет длину отступа первой строки элемента. Отрицательное значение — длину выступа.
Значение text-indent
в процентах устанавливает отступ или выступ первой строки элемента в процентах от ширины элемента.
Красная строка в HTML: как сделать отступ первой строки абзаца
Разбивать текст на абзацы следует с помощью тега <p>
.
У тега <p>
могут быть следующие дочерние элементы [w3.org]: a, abbr, area, audio, b, bdi, bdo, br, button, canvas, cite, code, data, datalist, del, dfn, em, embed, i, iframe, img, input, ins, kbd, keygen, label, map, mark, math, meter, noscript, object, output, progress, q, ruby, s, samp, script, select, small, span, strong, sub, sup, svg, template, textarea, time, u, var, video, wbr.
И все эти дочерние элементы дружно отодвигаются, находясь на первой строке.
Неудобно, что свойство наследуется и у inline-block элементов тоже присутствует отступ слева до содержимого. На inline элементы оно не распространяется, так как должно быть задано только блочным элементам.
<style> p { text-indent: 2em; } mark { display: inline-block; } </style> <p>Разбивать текст на абзацы следует с помощью тега <code><p></code>. <p><a href="https://www.w3.org/TR/2014/REC-html5-20141028/grouping-content.html#the-p-element">У тега <code><p></code> могут быть следующие дочерние элементы [w3.org]</a>: a, abbr, area, audio, b, bdi, bdo, br, button, canvas, cite, code, data, datalist, del, dfn, em, embed, i, iframe, img, input, ins, kbd, keygen, label, map, mark, math, meter, noscript, object, output, progress, q, ruby, s, samp, script, select, small, span, strong, sub, sup, svg, template, textarea, time, u, var, video, wbr. <p><img alt="Заяц" src="http://2.bp.blogspot.com/-RWS2ZhrFw80/U_7VcA6huTI/AAAAAAAAEtc/4d_LRNPGfQU/s100/zayats.jpg" height="100" width="86"> И все эти дочерние элементы дружно отодвигаются, находясь на первой строке. <p>Неудобно, что свойство наследуется и у <mark>inline-block элементов</mark> тоже присутствует отступ слева до содержимого. На <i>inline элементы</i> оно не распространяется, так как должно быть задано только блочным элементам.
Запретить наследование text-indent
Теперь свойство не наследуется и у inline-block элементов отсутствует отступ слева до содержимого.
<style> p { text-indent: 2em; } p * { text-indent: 0; } mark { display: inline-block; } </style> <p>Теперь свойство не наследуется и у <mark>inline-block элементов</mark> отсутствует отступ слева до содержимого.
Отодвигать только текст красной строки абзаца
Предложение после картинки не смещёно, так как оно находится уже на второй строке.
<style>
p {
text-indent: 2em;
}
p img {
display: block; /* на блочный элемент не действует text-indent
*/
}
</style>
<p><img alt="Заяц" src="http://2.bp.blogspot.com/-RWS2ZhrFw80/U_7VcA6huTI/AAAAAAAAEtc/4d_LRNPGfQU/s100/zayats.jpg" height="100" width="86"> Предложение после картинки не смещёно, так как оно находится уже на второй строке.
Вместо text-indent
можно использовать margin
для псевдоэлемента ::first-letter
.
Предложение после картинки не смещёно, так как первой букве первой строки блока предшествует другой элемент строки.
<style> p:first-letter { margin-left: 2em; } </style> <p>Вместо <code>text-indent</code> можно использовать <code>margin</code> для <a href="http://shpargalkablog.ru/2012/02/before-after-css.html">псевдоэлемента <code>::first-letter</code></a>. <p><img alt="Заяц" src="http://2.bp.blogspot.com/-RWS2ZhrFw80/U_7VcA6huTI/AAAAAAAAEtc/4d_LRNPGfQU/s100/zayats.jpg" height="100" width="86"> Предложение после картинки не смещёно, так как первой букве первой строки блока предшествует другой элемент строки.
1 комментарий: