Hello,
I'm having trouble getting my mobile web app to render properly on my iPhone 4. According to Wikipedia, the iPhone 4 has 960 width x 680 height pixels and the other iPhones have something like 480 width x 340 pixels.
With my current build, the images and CSS styling look really tiny on the iPhone 4.
Here is my code:
<!DOCTYPE html>
<html>
<head>
<title>mobile</title>
<link rel="stylesheet" type="text/css" href="iphone.css" media="only screen and (max-width: 480px)" />
<link rel='stylesheet' href='highRes.css' media='only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)' />
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="explorer.css" media="all" />
<![endif]-->
</head>
<body>
<div class="nav">
<div id="threeButtons">
<div class="navButton" id="friends">
Friends
</div>
<div class="navButton" id="nearby">
Nearby
</div>
<div class="navButton" id="me">
Me
</div>
</div>
<div id="settingsButton">
</div>
</div>
</body>
</html>
And here is my CSS:
body {
background-color: #ddd; /* Background color */
color: #222; /* Foreground color used for text */
font-family: "Lucida Grand";
font-size: 14px;
margin: 0; /* Amount of negative space around the outside of the body */
padding: 0; /* Amount of negative space around the inside of the body */
display: block;
}
div.nav {
text-shadow: 0px 1px 0px #fff;
background-image: -webkit-gradient(linear, left top, left bottom,
from(#e1f7ff), to(#a1d2ed));
height: 50px;
}
#threeButtons {
float: left;
margin-left: 20px;
margin-top: 10px;
margin-bottom: 5px;
}
div.navButton {
float: left;
height: 30px;
font-weight: bold;
text-align: center;
color: white;
text-shadow: rgba(0,0,0,0.6) 0px -1px 0px;
line-height: 28px;
border-width: 0 8px 0 8px;
-webkit-border-image: url(images/button.png) 0 8 0 8;
}
#settingsButton {
float: left;
background-image: url('images/settings.png');
height: 30px;
width: 29px;
margin: 10px 0 5px 60px;
}
Does anyone have an explanation on how to build for the iphone 4? Should I use these media parameters to reference the CSS:
<link rel="stylesheet" type="text/css" href="iphone.css" media="only screen and (max-width: 480px)" />
<link rel='stylesheet' href='highRes.css' media='only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)' />
or should I hardcode the body pixel width in the CSS?
I just checked out this article: http://menacingcloud.com/?c=highPixelDensityDisplays
but I want to hear what other people have done.