Is there any way to embed HTML in the css content: element when using a :before pseudo-element?
I want to use a Font Awesome (or Glyphicon) in a use case like this:
h1:before {
content: "X";
padding-right: 10px;
padding-left: 10px;
color: @orangeLight;
}
Where X is something like <i class="icon-cut"></i>.
I can, of course do this manually in HTML, but I really want to use :before in this case.
Similarly, is there any way to use <i> as a list bullet? This works, but doesn’t behave correctly for multi-line bullet items:
<ul class="icons">
<li><i class="icon-ok"></i> Lists</li>
<li><i class="icon-ok"></i> Buttons</li>
<li><i class="icon-ok"></i> Button groups</li>
<li><i class="icon-ok"></i> Navigation</li>
<li><i class="icon-ok"></i> Prepended form inputs</li>
</ul>
What you are describing is actually what FontAwesome is doing already. They apply the FontAwesome font-family to the
::beforepseudo element of any element that has a class that starts with “icon-“.Then they use the pseudo element
::beforeto place the icon in the element with the class. I just went to http://fortawesome.github.com/Font-Awesome/ and inspected the code to find this:So if you are looking to add the icon again, you could use the
::afterelement to achieve this. Or for your second part of your question, you could use the::afterpseudo element to insert the bullet character to look like a list item. Then use absolute positioning to place it to the left, or something similar.