With css media queries you can create mobile themes using only css. Downside is that it will still load the entire html for the desktop version on the phone so it's less efficient.
An example is Webmojo, my company website. If you lower the screen width (by resizing the window) you'll see it dynamically adjusts to the screen size.
Correct. Simply changing the viewport to adjust to the size of the devices screen is the correct way to go about it. using this in your <head> tags: