I have several paragraphs that I would like to indent, although only the first lines of these paragraphs.
How would I target just the first lines using CSS or HTML?
I have several paragraphs that I would like to indent, although only the first lines of these paragraphs.
How would I target just the first lines using CSS or HTML?
<length>
data type ch
. That would equate to text-indent: 4ch
or text-indent: 8ch
. –
Tomekatomes In addition to text-indent, you can use the :first-line
selector if you wish to apply additional styles.
p:first-line {
color:red;
}
p {
text-indent:40px;
}
Very simple using css:
p {
text-indent:10px;
}
Will create an indentation of 10 pixels in every paragraph.
Others have mentioned the best way to implement this via CSS, however if you need a quick fix with inline formatting, simply use the following code:
<p style="text-indent: 40px">This text is indented.</p>
I was also having a problem getting the first line of a paragraph (only the first line) to indent and was trying the following code:
p::first-line { text-indent: 30px; }
This did not work. So, I created a class in my CSS and used it in my html as follows:
in CSS:
.indent { text-indent: 30px; }
in html:
<p class="indent"> paragraph text </p>
This worked like a charm. I still don't know why the first code example did not work and I did make sure that the text was not aligned.
::first-line
is a pseudo-element on which only a subset of CSS-properties can be applied. text-indent
is not one of them. See developer.mozilla.org/en-US/docs/Web/CSS/::first-line –
Caeoma Here you go:
p:first-line {
text-indent:30px;
}
Didn't see a clear answer for a CSS newbie, so here's an easy one.
:first-line
doesn’t work, because the text-indent
-property has no effect on it. Without the pseudo-element for p
, there’s no problem. The text-indent
-property does only intend the first line anyway. So there’s no reason to target only one line in the first place. See also: developer.mozilla.org/en-US/docs/Web/CSS/::first-line and developer.mozilla.org/en-US/docs/Web/CSS/text-indent –
Caeoma first indent all lines (1), than outdent the first line (2)
padding-left: 0.4em /* (1) */
text-indent: -0.4em /* (2) */
text-indent
. –
Smothers I ran into the same issue only I had multiple <p>
tags I had to work with. Using the "text-indent" property wanted to indent ALL of the <p>
tags and that's not what I wanted.
I wanted to add a fancy quote image to a list of testimonials, with the css background based image at the very beginning of each quote and the text sitting to the right of the image. Since text-indent
was causing all subsequent paragraphs to indent, not just the very first paragraph, I had to do a bit of a workaround. The same method applies if you aren't looking to do an image though.
I accomplished this by first adding an empty div to the beginning of the paragraph I wanted indented. Next I applied a small width and height to it to create the invisible box and finally applied a left float to make it flow inline with the text. If you are using this for an image, make sure to add a margin to the right or make your width a bit wider for some white space.
Here's an example with the CSS inline. You can easily just create a class and add it to your CSS file:
<div style="height: 25px; width: 25px; float: left;"></div>
<p>First Paragraph</p>
<p>Second Paragraph</p>
© 2022 - 2024 — McMap. All rights reserved.