Besides your actual body text there are other places you should put keywords. These include in your page headings, such as what you put between <h1> tags. Search engines are trying more and more to read a site as a human would so that they can better rank pages. Many now treat text that is in <h1> tags or otherwise emphasized with more importance than other text. So you should always put keywords in your headings. Additionally sometimes people like to dress up their headings with images instead of text. You should refrain from doing this. Replacing text with an image may make it look prettier but it will do nothing but hurt your search engine rankings. One thing you could do is make a graphic background for your headings and then using CSS set it as the background of your heading tags.
Other places to include your keywords are in alt and title attributes for image and link tags. You should use these as shown below.
In all instances what matters is your percentage of keywords. Some people think to make their entire body nothing but H1 text and then use CSS to make it look like a normal sized font. This will not give you any benefit because the percentage of your H1 text that is actually your keywords will be small. Things like this might also get you in trouble, and just so I'm clear, hiding text from users but showing it to search engines, either by coloring it the same way as the background, or by putting it in a hidden div, or by putting in extraneous HTML comment tags, will get you in trouble.