You can use @ media queries :
<link rel="stylesheet" href="path/to/iphone.css" media="only screen and (max-device-width:480px)"/>
This particular version is for iPhone (and any other device with a max-device-width screen of 480px .
Apple, for the iPhone, although it’s from memory, so I can’t be completely sure of its accuracy, decided to ignore the use of handheld or mobile stylesheets, since these and other iOS devices were able to render css more or less on par with desktop browsers via Safari. For other devices, I'm not sure how true they are, although the A List Apart article (linked to above) gives a brief overview of some of them.
Edited by in response to a comment from @Colen:
Hmm, it seems like many newer mobile devices have higher resolution (e.g. droid X - 854x480). Is there any way to detect them? I do not think that this issue is being handled with this question.
I can’t say for sure since I don’t have access to these devices, however another A List Apart Article: Responsive web design notes that:
Fortunately, the W3C created media queries as part of the CSS3 specification, improving the promise of media types. A media query allows us to orient not only certain classes of devices, but also actually check the physical characteristics of the device that provides our work. For example, after the recent growth of mobile WebKit, media queries have become a popular client-side method for delivering a personalized style sheet to iPhone, Android phones, etc.
So, I assume that they, Android devices, should be targeted to the target by @ media requests, but, as already noted, I can’t say with certainty.
An example is given for the target resolution of the device:
<link rel="stylesheet" type="text/css" media="screen and (max-device-width: 480px) and (resolution: 163dpi)" href="shetland.css" />
Further reading: W3 candidate recommendation for media queries .