Reputation: 3312
Is there any way to insert an HTML element, dom or code from CSS(3)?
Upvotes: 57
Views: 142658
Reputation: 1287
Content (for text and not html):
http://www.quirksmode.org/css/content.html
But just to be clear, it is bad practice. Its support throughout browsers is shaky, and it's generally not a good idea. But in cases where you really have to use it, there it is.
Upvotes: 16
Reputation: 69
An alternative - which may work for you depending on what you're trying to do - is to have the HTML in place and then use the CSS to show or hide it depending on the class of a parent element.
OR
Use jQuery append()
Upvotes: 3
Reputation: 1
This can be done. For example with Firefox
CSS
#hlinks {
-moz-binding: url(stackexchange.xml#hlinks);
}
stackexchange.xml
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml">
<binding id="hlinks">
<content>
<children/>
<html:a href="/privileges">privileges</html:a>
<html:span class="lsep"> | </html:span>
<html:a href="/users/logout">log out</html:a>
</content>
</binding>
</bindings>
Upvotes: 2
Reputation: 40066
No. The only you can do is to add content (and not an element) using :before
or :after
pseudo-element.
More information: http://www.w3.org/TR/CSS2/generate.html#before-after-content
Upvotes: 40
Reputation: 58962
No you cannot. The only thing you can do is to insert content. Like so:
p:after {
content: "yo";
}
Upvotes: 14