У меня есть несколько абзацев, которые я хотел бы сделать с отступом, хотя только первые строки этих абзацев.
Как настроить таргетинг только на первые строки с помощью CSS или HTML?
У меня есть несколько абзацев, которые я хотел бы сделать с отступом, хотя только первые строки этих абзацев.
Как настроить таргетинг только на первые строки с помощью CSS или HTML?
Используйте свойство text-indent.
p {
text-indent: 30px;
}
Помимо отступа текста, вы можете использовать селектор :first-line, если хотите применить дополнительные стили.
p:first-line {
color:red;
}
p {
text-indent:40px;
}
http://jsfiddle.net/Madmartigan/d4aCA/1/
Очень просто с помощью css:
p {
text-indent:10px;
}
Создаст отступ в 10 пикселей в каждом абзаце.
У меня также возникла проблема с отступом первой строки абзаца (только первой строки), и я пытался использовать следующий код:
p::first-line { text-indent: 30px; }
Это не сработало. Итак, я создал класс в своем CSS и использовал его в своем html следующим образом:
в CSS:
.indent { text-indent: 30px; }
в html:
<p class="indent"> paragraph text </p>
Это сработало как шарм. Я до сих пор не знаю, почему первый пример кода не работал, и я убедился, что текст не выровнен.
::first-line — это псевдоэлемент, к которому можно применить только подмножество CSS-свойств. text-indent не один из них. См. developer.mozilla.org/en-US/docs. /Web/CSS/::first-line
- person Erik; 19.06.2015
Ну вот:
p:first-line {
text-indent:30px;
}
Не нашел четкого ответа для новичка в CSS, так что вот простой.
:first-line не работает, потому что свойство text-indent на него не влияет. Без псевдоэлемента для p нет проблем. В любом случае свойство text-indent предназначено только для первой строки. Таким образом, нет причин нацеливаться только на одну строку. См. также: developer.mozilla.org/en-US /docs/Web/CSS/::first-line и developer.mozilla.org/en-US/docs/Web/CSS/text-indent
- person Erik; 19.06.2015
Другие упомянули лучший способ реализовать это с помощью CSS, однако, если вам нужно быстро исправить встроенное форматирование, просто используйте следующий код:
<p style="text-indent: 40px">This text is indented.</p>
Источник: https://www.computerhope.com/issues/ch001034.htm
Я столкнулся с той же проблемой, только у меня было несколько тегов <p>, с которыми мне приходилось работать. Используя свойство «text-indent», я хотел сделать отступ для ВСЕХ тегов <p>, а это не то, что я хотел.
Я хотел добавить причудливое изображение цитаты в список отзывов, с фоновым изображением на основе CSS в самом начале каждой цитаты и текстом справа от изображения. Поскольку text-indent вызывал отступ во всех последующих абзацах, а не только в самом первом абзаце, мне пришлось прибегнуть к обходному пути. Тот же метод применяется, если вы не хотите делать изображение.
Я достиг этого, сначала добавив пустой div в начало абзаца, который мне нужен с отступом. Затем я применил к нему небольшую ширину и высоту, чтобы создать невидимую рамку, и, наконец, применил левый плавающий элемент, чтобы сделать его встроенным в текст. Если вы используете это для изображения, обязательно добавьте поле справа или немного увеличьте ширину для некоторого пустого пространства.
Вот пример со встроенным CSS. Вы можете легко просто создать класс и добавить его в свой файл CSS:
<div style="height: 25px; width: 25px; float: left;"></div>
<p>First Paragraph</p>
<p>Second Paragraph</p>
сначала сдвинуть все строки (1), затем сдвинуть первую строку (2)
padding-left: 0.4em /* (1) */
text-indent: -0.4em /* (2) */