So I've got some h3
tags that I want to prepend with a simple red box. I would have thought something like
h3:before {
width: 20px;
height: 20px;
background: #9B191D;
}
But I actually also have to add a
position: absolute
in order to get a shape to show up, and in that case the following text becomes obscured. So currently I'm doing the following, and I really don't like it
h3:before {
background: #9B191D;
position: relative;
content: "..";
color: #9b191d;
}
but it works. Does anyone know how I can get a shape with given dimensions to show up without using position:absolute
?
By default, a pseudo element's display
is inline
. You can't set the width
/height
of a strictly inline-level element, therefore you should change the display
to inline-block
.
In doing so, you don't have to resort to absolute positioning in order to change the dimensions of the element.
h3:before {
content: '';
display: inline-block;
width: 20px;
height: 20px;
background: #9B191D;
}
<h3>Some header</h3>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With