I copied this message over from another thread where the poster had the same problem.
Give it a look and test it out.
If your iPhone is iPhone 4 or newer, you'll run into some problems with the using just media queries. This is because iPhone 4 and above have a "higher resolution" screen. Meaning to say 1px on the desktop doesnt equate to 1px on the phone. The actual iPhone 4 dimensions would be 640 x 960 instead of the usual 320 x 480 in the iphone 3.
There's one way to fix this though, and that is to set the viewport initial scale to 1.
Here's the code you have to place in the head of your HTML file.
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
Essentially, Ralph's suggestion should have worked.
If you did not include the above line of code, you might want to check out http://viewlike.us for a view of the codes that would have appeared on your mobile device.
If you included that in, use this instead. http://mattkersley.com/responsive/
Hope this helps!