最近ではiPhoneを手にサイトを閲覧される方が多くなってきました。街を歩いていても、アクセスログをみていても。
というわけでiPhoneでのユーザビリティーを追求したコーディングを習得していこうと思います。
基本的にCSS3を使えば、ほとんど画像を使用せずデザインすることができます。今回制作したサンプルはこちら。
ここで使用した画像は「Back」の背景になっている黒いボタンのみです。
しかも黒いボタンも一つの画像で横、縦ともに自由に可変させることが簡単に出来ます。
まずはソースを見てみましょう。
iPhone demo htmlのソース
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;">
<style type="text/css" media="screen">@import "css/style.css";</style>
<title>iPhone View Test</title>
</head>
<body>
<div id="toolbar">
<h1>iPhone View Test</h1>
<a href="#" class="back">Back</a>
</div>
<ul class="list">
<li><a href="#">music</a></li>
<li><a href="#">picture</a></li>
<li><a href="#">movie</a></li>
</ul>
<div id="about">
<h2>about</h2>
<p>
iphoneでの表示テストを兼ねて簡単なHTML5とCSS3で構築するページです。
</p>
</div>
</body>
</html>
iPhone demo CSSのソース
body {
margin: 0;
padding: 0;
font-family: Helvetica;
background: #aaa;
}
h1,h2,h3,h4 {margin:0;padding:0;font-size:1;}
#toolbar {
-webkit-box-sizing: border-box;
background-color: #5A7500;
border-bottom:1px solid #222;
background:-webkit-gradient(linear, right bottom, right top, color-stop(0.01, #4E6400), color-stop(1, #7B9F00));
position:relative;
height:45px;
}
#toolbar h1{
color: #FFF;
text-align: center;
font:bold 20px Helvetica;
line-height:45px;
text-shadow:0px -1px 1px #111;
}
.back {
position: absolute;
left: 5px;
top: 8px;
-webkit-border-image:url(../img/back.png)0 6 0 12 /0 6px 0 12px;
padding: 0 5px 0 5px;
color: #FFF;
font-weight:bold;
text-decoration: none;
font-size: 14px;
line-height: 30px;
text-shadow:0px -1px 1px #111;
}
.list {
-webkit-box-shadow:0px 1px 3px #333;
list-style: none ;
margin: 0;
padding:0;
overflow: hidden;
border-top:2px solid #333;
}
.list li{
border-top: 1px solid #555;
border-bottom:1px solid #111;
}
.list li a{
display: block;
height: 50px;
padding: 0 0 0 10px;
text-decoration: none;
font:bold 22px Helvetica;
line-height: 50px;
color: #FFF;
text-shadow:0px -1px 1px #111;
background:-webkit-gradient(linear, right bottom, right top, color-stop(0.01, #494949), color-stop(1, #393939));
}
#about {
padding:10px;
margin:10px 5px;
border: 1px solid #333;
background: #FFF;
-webkit-border-radius:10px;
}
htmlでは特別なことはしていません。下記のメタタグは必要なようですので忘れずに!
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;">
CSSは結構特殊になってきますね。CSS3ってすごいと思いますね。
グラデーションの指定
background:-webkit-gradient(linear, right bottom, right top, color-stop(0.01, #4E6400), color-stop(1, #7B9F00));
文字にシャドウ(影)をつける
text-shadow:0px -1px 1px #111;
ボーダーにイメージを指定する
-webkit-border-image:url(../img/back.png)0 6 0 12 /0 6px 0 12px;
ボックスに角丸を指定する
-webkit-border-radius:10px;
それぞれの使い方は、別ページで詳しく説明しようと思います。








