Check out the following article from Nathan Rice about creating single post templates:
http://www.nathanrice.net/blog/wordpress-single-post-templates/
Nathan has simplified his original code so that it now only encompasses one line of PHP that you would add to functions.php in WordPress.
You’ll have to create some specific CSS for your post template after adding the PHP to the functions file, but you’ll find the process to be fairly straightforward. The end result is a drop-down menu from which you can select your post templates.
if you want to customise a single post in a special way – most themes use the post ID in the html tags around a post to give it an individual html id (for instance <div id="post-456">) which you can use to style specially in style.css.
if you want to style posts in general, look into the html code in your browser when you view your blog, and identify the html tags surrounding the post. then style them in the style.css of your theme