I've used this in the past to put asterisks on required form element labels. In this place, it makes perfect sense, the asterisk isn't content, it's there as a visual clue.

However, in other uses, is it bad practice? I have a series of pages with thumbnail images. The client wanted to add a hint: "Click on thumbnails for larger images".

I can either edit the HTML for a few pages to include an extra element or I can do it with one file change:

.thumbs:after {content:'Click on thumbnails for larger images';}

My question is, is doing this a bad idea? I'm on the fence, it makes sense that for every set of thumbs it's a visual clue but it does feel odd inserting content via CSS.

What's everyone's opinions on this?