fitting the thumbnail image into a div

When setting the size of the image in an array using the_post_thumbnail as you are, the documentation states that the ‘crop’ feature does not work as of WordPress 3.0. In order to accomplish what you want, you will need to do the following.

In your functions.php file, make a call to add_image_size, which allows you to specify both the dimensions of the image and whether or not it should be cropped.

//set image size
add_image_size( 'my-custom-size', 200, 150, true );

//use in theme
the_post_thumbnail( 'my-custom-size' );

Alternatively, you could just use CSS to set the size of the image, which will force it to distort and stretch to the desired size, but the WordPress method below would be the correct way. NOTE: add_image_size() creates a copy of all images at the dimensions specified. It also only applies to newly uploaded images. Images already stored in the database are not affected.