<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WEB・アプリ開発・音楽制作 &#124; Kaleidoscope &#187; スマホ</title>
	<atom:link href="http://blog.kaleido-jp.net/tag/%e3%82%b9%e3%83%9e%e3%83%9b/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kaleido-jp.net</link>
	<description>WEB・アプリ開発・音楽制作</description>
	<lastBuildDate>Mon, 24 Nov 2014 00:40:02 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.6</generator>
		<item>
		<title>画像を使わずCSS3だけで尖ったBack・Nextボタンを作る方法</title>
		<link>http://blog.kaleido-jp.net/web/css3%e3%81%a0%e3%81%91%e3%81%a7back%e3%82%84next%e3%83%9c%e3%82%bf%e3%83%b3/</link>
		<comments>http://blog.kaleido-jp.net/web/css3%e3%81%a0%e3%81%91%e3%81%a7back%e3%82%84next%e3%83%9c%e3%82%bf%e3%83%b3/#comments</comments>
		<pubDate>Sat, 14 May 2011 02:50:30 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Web制作]]></category>
		<category><![CDATA[スマートフォンサイト制作]]></category>
		<category><![CDATA[Webデザイン]]></category>
		<category><![CDATA[スマホ]]></category>
		<category><![CDATA[スマートフォン]]></category>

		<guid isPermaLink="false">http://blog.kaleido-jp.net/?p=606</guid>
		<description><![CDATA[CSS3だけで、iOS風のBackやNextの尖ったナビゲーションボタン作る方法ないかな〜と探していたところ、良記事があったので紹介します。Androidで確認してませんが、webkit向けなのでたぶんAndroidでも [...]]]></description>
				<content:encoded><![CDATA[<div class="indent">
<div id="attachment_641" class="wp-caption alignleft" style="width: 160px"><a href="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/ddc3ef47d2f5e7ca9770c8fd94d8a561.png"><img src="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/ddc3ef47d2f5e7ca9770c8fd94d8a561-150x150.png" alt="" title="画像を使わずにCSS3だけで尖ったボタン" width="150" height="150" class="size-thumbnail wp-image-641" /></a><p class="wp-caption-text">画像を使わずにCSS3だけで尖ったボタン</p></div>CSS3だけで、iOS風のBackやNextの尖ったナビゲーションボタン作る方法ないかな〜と探していたところ、良記事があったので紹介します。<del datetime="2011-05-14T05:14:10+00:00">Androidで確認してませんが、webkit向けなのでたぶんAndroidでも大丈夫だと思います。</del>Androidはひと工夫必要そうです。</p>
<p><a href="http://css3wizardry.com/2011/03/21/back-and-next-buttons-revisited/" target="_blank">CSS3 Wizardry -Back and Next Buttons Revisited- </a><br />
<a href="http://css3wizardry.com/2010/10/05/subpixel-rendering-2/" target="_blank">CSS3 Wizardry -Subpixel Rendering- </a></p>
<p><br clear="all" /><br />
Buttons Revisitedの方が改良版で疑似要素バージョンみたいです。原理はSubpixel Renderingの方がわかりやすいです。<br />
<span id="more-606"></span></p>
<h4>ポイントとなるHTML</h4>
<p>ボタンを構成する要素はこれだけ。<br />
[html]<br />
&lt;!&#8211;ボタン要素&#8211;&gt;<br />
&lt;div class=&quot;button bordered back&quot;&gt;<br />
         &lt;span class=&quot;label&quot;&gt;Back&lt;/span&gt;<br />
&lt;/div&gt;<br />
&lt;!&#8211;//ボタン要素&#8211;&gt;<br />
[/html]</p>
<p><br clear="all" /></p>
<h4>ポイントとなるCSS</h4>
<p>その疑似要素をtransformで45度回転、mask-imageでつなぎ目を滑らかにしてるみたいですね。<br />
なるほど…その発想はなかったです。発想って大事だなーと再認識しました（笑）<br />
[css]<br />
.button.bordered.back:before {<br />
　…略…<br />
-webkit-transform: rotate(45deg);<br />
		-webkit-mask-image:<br />
			-webkit-gradient(linear, left bottom, right top,<br />
				from(#000000),<br />
				color-stop(0.5,#000000),<br />
				color-stop(0.5, transparent),<br />
				to(transparent));<br />
position: absolute;<br />
left: -9px;<br />
top: 2.5px;<br />
-webkit-background-clip: content;<br />
}<br />
[/css]</p>
<p>スマートフォンサイトはWiFi接続時はそうでもないのですが、3G回線の時は通信速度が落ちるので画像を用いずCSS3でUIを作るというのは、とても有効な手段です。</p>
<p>応用すれば、いろんなデザインができそうですね。</p>
<p><div id="attachment_633" class="wp-caption alignleft" style="width: 160px"><a href="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/80976608120f01cb4e453595b7df3776.png"><img src="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/80976608120f01cb4e453595b7df3776-150x150.png" alt="" title="デモ" width="150" height="150" class="size-thumbnail wp-image-633" /></a><p class="wp-caption-text">デモ</p></div>ご興味のある方は導入されてみてはいかがでしょうか。<br />
・<a href="http://vxjs.org/buttons/SubpixelButtons-2/buttons.html"><strong>デモ</strong></a><br />
・<a href="http://vxjs.org/buttons/SubpixelButtons-2/SubpixelButtons.zip"><strong>サンプルソースのダウンロード</strong></a></p>
<p>【2011.5.14 追記】Androidで確認したところ、形的に尖るのですが、マスクがたぶん効かない状態になってしまうようです。Androidはひと工夫が必要ですね。<br />
【2011.5.15 追記】ちなみに対象となるブラウザはwebkit系ブラウザです。（Safari、Chrome、Mobile Safari）※Androidは工夫が必要と思われる。</p>
<p><br clear="all" /></p>
<p><SCRIPT charset="utf-8" type="text/javascript" src="http://ws.amazon.co.jp/widgets/q?ServiceVersion=20070822&#038;MarketPlace=JP&#038;ID=V20070822/JP/kaleidoscopew-22/8001/660f7458-1bbe-4133-9232-60936e044217"> </SCRIPT> <NOSCRIPT><A HREF="http://ws.amazon.co.jp/widgets/q?ServiceVersion=20070822&#038;MarketPlace=JP&#038;ID=V20070822%2FJP%2Fkaleidoscopew-22%2F8001%2F660f7458-1bbe-4133-9232-60936e044217&#038;Operation=NoScript">Amazon.co.jp ウィジェット</A></NOSCRIPT></p>
</div>
<p><strong>他の人気エントリ</strong>
<ul class="popular-posts">
<li><span><a href="http://blog.kaleido-jp.net/kaleidoscope/unity_develope/" rel="bookmark" title="2012年2月28日">Unityが使える方を探しています</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/kaleidoscope/unity_develope/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/kaleidoscope/unity_develope/" /></a></span></li>
<li><span><a href="http://blog.kaleido-jp.net/web/typoinsta_bosyu/" rel="bookmark" title="2011年12月6日">デザイナーさん・イラストレーターさんを募集しています</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/web/typoinsta_bosyu/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/web/typoinsta_bosyu/" /></a></span></li>
<li><span><a href="http://blog.kaleido-jp.net/smatphone_app/aboutapp/" rel="bookmark" title="2011年11月19日">Flash終了でアプリは消えないと思うよ？</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/smatphone_app/aboutapp/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/smatphone_app/aboutapp/" /></a></span></li>
<li><span><a href="http://blog.kaleido-jp.net/music/kubbe/" rel="bookmark" title="2012年6月17日">ノルウェー絵本「KUBBE（キュッパ）」映像化の音楽を作りました</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/music/kubbe/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/music/kubbe/" /></a></span></li>
<li><span><a href="http://blog.kaleido-jp.net/web/%e3%83%95%e3%83%aa%e3%83%83%e3%82%af%e3%82%b9%e3%83%a9%e3%82%a4%e3%83%89/" rel="bookmark" title="2011年4月29日">スマートフォンサイトにフリック・スワイプ実装できるjQueryスライダプラグイン</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/web/%e3%83%95%e3%83%aa%e3%83%83%e3%82%af%e3%82%b9%e3%83%a9%e3%82%a4%e3%83%89/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/web/%e3%83%95%e3%83%aa%e3%83%83%e3%82%af%e3%82%b9%e3%83%a9%e3%82%a4%e3%83%89/" /></a></span></li>
</ul>
<p><!-- popular Posts took 5.064 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaleido-jp.net/web/css3%e3%81%a0%e3%81%91%e3%81%a7back%e3%82%84next%e3%83%9c%e3%82%bf%e3%83%b3/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Android対応スマートフォンサイトのレイアウト（viewport・コンテナ編）</title>
		<link>http://blog.kaleido-jp.net/web/%e3%82%b9%e3%83%9e%e3%83%bc%e3%83%88%e3%83%95%e3%82%a9%e3%83%b3%e3%82%b5%e3%82%a4%e3%83%88%e3%83%ac%e3%82%a4%e3%82%a2%e3%82%a6%e3%83%881/</link>
		<comments>http://blog.kaleido-jp.net/web/%e3%82%b9%e3%83%9e%e3%83%bc%e3%83%88%e3%83%95%e3%82%a9%e3%83%b3%e3%82%b5%e3%82%a4%e3%83%88%e3%83%ac%e3%82%a4%e3%82%a2%e3%82%a6%e3%83%881/#comments</comments>
		<pubDate>Sat, 07 May 2011 04:35:55 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Web制作]]></category>
		<category><![CDATA[スマートフォンサイト制作]]></category>
		<category><![CDATA[スマホ]]></category>
		<category><![CDATA[スマホサイト]]></category>
		<category><![CDATA[スマートフォン]]></category>

		<guid isPermaLink="false">http://blog.kaleido-jp.net/?p=469</guid>
		<description><![CDATA[最近いろんなスマホ最適化されたサイトを見るようになりました。 それと同時に、多様なAndroid端末が急速に普及し、iPhone3GSが全盛だった去年までの制作方法では対応が不十分になってきてまして、僕自身も試行錯誤中な [...]]]></description>
				<content:encoded><![CDATA[<p>最近いろんなスマホ最適化されたサイトを見るようになりました。<br />
それと同時に、多様なAndroid端末が急速に普及し、iPhone3GSが全盛だった去年までの制作方法では対応が不十分になってきてまして、僕自身も試行錯誤中なこともあり、2011年5月時点でのiPhone・Androidに対応できる自分なりのレイアウト方法をちょっとまとめてみようと思います。</p>
<p>今回は全体編なので、主にviewportの設定と全体を囲むコンテナ要素にフォーカスを絞ります。<br />
<span id="more-469"></span></p>
<h3>viewportはdevice-width、コンテナはwidth:100%などの伸縮するリキッドレイアウトに</h3>
<div class="indent">
<h4>端末の横幅を最大限に活かした方がよい</h4>
<p>特に理由が無ければ、大抵の場合は、<br />
<strong>viewportはdevice-width、コンテナはwidth:100%などの伸縮するリキッドレイアウトにする</strong><br />
自然な考え方で考えると、PCに比べるとただでさえ狭いディスプレイサイズなのですから、端末の画面をフルに使った方が良い訳です。</p>
<p>たぶんこれは説明するより、例を挙げて見ていった方がわかりやすいと思います。<br />
下記のようなHTMLソースの場合で試してみたいと思います。<br />
[html]<br />
&lt;!DOCTYPE html&gt;<br />
&lt;html lang=&quot;ja&quot;&gt;<br />
&lt;head&gt;<br />
&lt;meta charset=&quot;UTF-8&quot; /&gt;</p>
<p>&lt;!&#8211;viewportの指定（ここの設定を変えてみる）&#8211;&gt;<br />
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0&quot; /&gt;<br />
&lt;!&#8211;/viewportの指定&#8211;&gt;</p>
<p>&lt;link href=&quot;css/imain.css&quot; type=&quot;text/css&quot; rel=&quot;stylesheet&quot; /&gt;<br />
&lt;title&gt;Apple Products&lt;/title&gt;<br />
&lt;/head&gt;</p>
<p>&lt;body&gt;</p>
<p>  &lt;!&#8211;コンテナ&#8211;&gt;<br />
  &lt;!&#8211;container（ここのCSS設定を変えてみる）&#8211;&gt;<br />
  &lt;div id=&quot;container&quot;&gt;<br />
　　…略<br />
  &lt;/div&gt;&lt;!&#8211;/container&#8211;&gt;<br />
  &lt;!&#8211;//コンテナ&#8211;&gt;</p>
<p>&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>[/html]</p>
<p><br clear="all" />
</div>
<h3>1. 良いと思われる例（リキッドスタイル）</h3>
<div class="indent">
<strong>・viewport：width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0<br />
・コンテナ幅 width:100%</strong> 　</p>
<p>念のため、上記のviewportの記述の簡単に説明をしておくと、width=device-width：横幅はデバイスの幅、initial-scale=1.0：初期の拡大縮小サイズ、minimum-scale=1.0,maximum-scale=1.0：最小・最大の拡大縮小サイズ、user-scalable=0：ユーザーが拡大縮小できるか否か（0またはnoで不可）</p>
<p>※ポイントをviewportとコンテナに絞るため、画像が引き伸されてるのは一旦スルー。別途エントリ予定。<br />
　<br />
<div id="attachment_487" class="wp-caption alignleft" style="width: 160px"><a href="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/d4c1cf9ea5dd688192c6de96f1333032.png"><img src="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/d4c1cf9ea5dd688192c6de96f1333032-150x150.png" alt="capture1" title="viewport：width=device-width, コンテナ：100%（iPhone 縦）" width="150" height="150" class="size-thumbnail wp-image-487" /></a><p class="wp-caption-text">viewport：width=device-width<br />コンテナ：100%（iPhone 縦）</p></div> <div id="attachment_488" class="wp-caption alignleft" style="width: 160px"><a href="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/6244c297af9758b1ed68b955f514fae4.png"><img src="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/6244c297af9758b1ed68b955f514fae4-150x150.png" alt="capture2" title="viewport：width=device-width, コンテナ：100%（iPhone 横）" width="150" height="150" class="size-thumbnail wp-image-488" /></a><p class="wp-caption-text">viewport：width=device-width<br />コンテナ：100%（iPhone 横）</p></div>iPhone：ご覧のように、縦でも横でも違和感無く表示されています。</p>
<p><br clear="all" /><br />
<div id="attachment_493" class="wp-caption alignleft" style="width: 160px"><a href="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/e3bc7bc7a4ada920969c8046dbdbf2e3.png"><img src="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/e3bc7bc7a4ada920969c8046dbdbf2e3-150x150.png" alt="capture3" title="viewport：width=device-width ｜ コンテナ：100%（Android 縦）" width="150" height="150" class="size-thumbnail wp-image-493" /></a><p class="wp-caption-text">viewport：width=device-width<br />コンテナ：100%（Android 640×960 縦）</p></div> <div id="attachment_494" class="wp-caption alignleft" style="width: 160px"><a href="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/acafc3a356ee8f9adf988f8844810053.png"><img src="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/acafc3a356ee8f9adf988f8844810053-150x150.png" alt="" title="viewport：width=device-width ｜ コンテナ：100%（Android 横）" width="150" height="150" class="size-thumbnail wp-image-494" /></a><p class="wp-caption-text">viewport：width=device-width<br />コンテナ：100%（Android 640×960 横）</p></div>Android：iPhone同様に、縦でも横でも違和感無く表示されています。画面解像度は640×960にしています。実機（IS03）でも同様でした。</p>
<p><br clear="all" />
</div>
<h3>2. ときどき見かける例（iPhone3GSまでの時代なら、そこそこ問題なかった固定スタイル）</h3>
<div class="indent">
<strong>・viewport=320px （幅指定以外はなし）<br />
・コンテナ幅 width:320px</strong></p>
<p>※ポイントをviewportとコンテナに絞るため、画像が引き伸されてるのは一旦スルー。別途エントリ予定。</p>
<p><div id="attachment_515" class="wp-caption alignleft" style="width: 160px"><a href="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/aefe0c5555fb4c7eab521be192d78f29.png"><img src="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/aefe0c5555fb4c7eab521be192d78f29-150x150.png" alt="" title="viewport：width=320px 他の指定無し" width="150" height="150" class="size-thumbnail wp-image-515" /></a><p class="wp-caption-text">viewport：width=320px 他の指定無し｜コンテナ幅320px（iPhone横向き）</p></div> <div id="attachment_519" class="wp-caption alignleft" style="width: 160px"><a href="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/7bae36bd8238deb4240aea6f8d7bca37.png"><img src="http://blog.kaleido-jp.net/wp-content/uploads/2011/05/7bae36bd8238deb4240aea6f8d7bca37-150x150.png" alt="" title="viewport：width=320px 他の指定無し｜コンテナ幅100%（Android WVGA横）" width="150" height="150" class="size-thumbnail wp-image-519" /></a><p class="wp-caption-text">viewport：width=320px 他の指定無し｜コンテナ幅100%（Android WVGA）</p></div>iPhone：とりあえずレイアウトは保たれているが、<strong>320px→480pxに無理矢理引き伸しているので、表示範囲も狭く、3G・3GSでさえ画像が引き伸されてしまう</strong>。</p>
<p>Android：<strong>左右に余白ができてしまう</strong>。個人的にはとても不自然に感じます。</p>
<p><br clear="all" /></p>
<h3>1のデメリット</h3>
<div class="indent">
という感じで、個人的には１のリキッドスタイルがオススメなのですが、デメリットもあります。<br />
ぱっと思い当たるケースで言うと、</p>
<p><strong>・絶対配置レイアウトをしたい場合<br />
・CSS3やJSでアニメーションなどしたい場合</strong></p>
<p>全体がリキッドなため、<strong>変動的なピクセル指定が難しくなります</strong>。<br />
たとえば、「要素を横幅いっぱい分アニメーションで動かしたい」といったときに、<strong>端末の向きによって横幅は変わります。端末の機種でも横幅が変わるかもしれません</strong>。<br />
縦のときは320px動かす、横のときは480px動かすといったような処理が必要になってきます。</p>
<p>２のレイアウトスタイルであれば、横幅は縦でも横でも320pxですから、いつでも320px動かせばいいんです。</p>
<p>UIに命をかけたようなサイトであれば、いいと思うのですが、個人的には基本的なレイアウトの方が重要かなーと思っています。</p>
<p>また、dpiとかいろいろ細かい設定もできるのですが、その辺は設定せずにサイトのレイアウトや構成で補った方がよいというのが、個人的な見解です。<br />
次はこの辺か画像について書きたいと思ってます。</p>
<p><SCRIPT charset="utf-8" type="text/javascript" src="http://ws.amazon.co.jp/widgets/q?ServiceVersion=20070822&#038;MarketPlace=JP&#038;ID=V20070822/JP/kaleidoscopew-22/8001/9ae45447-a573-470f-ae81-53f125da6817"> </SCRIPT> <NOSCRIPT><A HREF="http://ws.amazon.co.jp/widgets/q?ServiceVersion=20070822&#038;MarketPlace=JP&#038;ID=V20070822%2FJP%2Fkaleidoscopew-22%2F8001%2F9ae45447-a573-470f-ae81-53f125da6817&#038;Operation=NoScript">Amazon.co.jp ウィジェット</A></NOSCRIPT></p>
<p><SCRIPT charset="utf-8" type="text/javascript" src="http://ws.amazon.co.jp/widgets/q?ServiceVersion=20070822&#038;MarketPlace=JP&#038;ID=V20070822/JP/kaleidoscopew-22/8001/660f7458-1bbe-4133-9232-60936e044217"> </SCRIPT> <NOSCRIPT><A HREF="http://ws.amazon.co.jp/widgets/q?ServiceVersion=20070822&#038;MarketPlace=JP&#038;ID=V20070822%2FJP%2Fkaleidoscopew-22%2F8001%2F660f7458-1bbe-4133-9232-60936e044217&#038;Operation=NoScript">Amazon.co.jp ウィジェット</A></NOSCRIPT>
</div>
</div>
<p><strong>他の人気エントリ</strong>
<ul class="popular-posts">
<li><span><a href="http://blog.kaleido-jp.net/kaleidoscope/unity_develope/" rel="bookmark" title="2012年2月28日">Unityが使える方を探しています</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/kaleidoscope/unity_develope/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/kaleidoscope/unity_develope/" /></a></span></li>
<li><span><a href="http://blog.kaleido-jp.net/web/typoinsta_bosyu/" rel="bookmark" title="2011年12月6日">デザイナーさん・イラストレーターさんを募集しています</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/web/typoinsta_bosyu/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/web/typoinsta_bosyu/" /></a></span></li>
<li><span><a href="http://blog.kaleido-jp.net/smatphone_app/aboutapp/" rel="bookmark" title="2011年11月19日">Flash終了でアプリは消えないと思うよ？</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/smatphone_app/aboutapp/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/smatphone_app/aboutapp/" /></a></span></li>
<li><span><a href="http://blog.kaleido-jp.net/music/kubbe/" rel="bookmark" title="2012年6月17日">ノルウェー絵本「KUBBE（キュッパ）」映像化の音楽を作りました</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/music/kubbe/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/music/kubbe/" /></a></span></li>
<li><span><a href="http://blog.kaleido-jp.net/web/%e3%83%95%e3%83%aa%e3%83%83%e3%82%af%e3%82%b9%e3%83%a9%e3%82%a4%e3%83%89/" rel="bookmark" title="2011年4月29日">スマートフォンサイトにフリック・スワイプ実装できるjQueryスライダプラグイン</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/web/%e3%83%95%e3%83%aa%e3%83%83%e3%82%af%e3%82%b9%e3%83%a9%e3%82%a4%e3%83%89/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/web/%e3%83%95%e3%83%aa%e3%83%83%e3%82%af%e3%82%b9%e3%83%a9%e3%82%a4%e3%83%89/" /></a></span></li>
</ul>
<p><!-- popular Posts took 4.703 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaleido-jp.net/web/%e3%82%b9%e3%83%9e%e3%83%bc%e3%83%88%e3%83%95%e3%82%a9%e3%83%b3%e3%82%b5%e3%82%a4%e3%83%88%e3%83%ac%e3%82%a4%e3%82%a2%e3%82%a6%e3%83%881/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>スマホ最適化でやったこと</title>
		<link>http://blog.kaleido-jp.net/web/%e3%82%b9%e3%83%9e%e3%83%9b%e6%9c%80%e9%81%a9%e5%8c%96/</link>
		<comments>http://blog.kaleido-jp.net/web/%e3%82%b9%e3%83%9e%e3%83%9b%e6%9c%80%e9%81%a9%e5%8c%96/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 15:03:03 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Web制作]]></category>
		<category><![CDATA[スマートフォンサイト制作]]></category>
		<category><![CDATA[スマホ]]></category>
		<category><![CDATA[スマホサイト]]></category>
		<category><![CDATA[スマートフォン]]></category>
		<category><![CDATA[スマートフォンサイト]]></category>

		<guid isPermaLink="false">http://blog.kaleido-jp.net/?p=101</guid>
		<description><![CDATA[※Androidでアクセスされた方は使用感をいただけると幸いです。 （サイトトップ） 先日簡単なエントリで書いてますが、今まではてなダイアリーにエントリを書いてまして、やはりデザインの限界などがありWordPressに移 [...]]]></description>
				<content:encoded><![CDATA[<p>※Androidでアクセスされた方は使用感をいただけると幸いです。<br />
<a href="http://blog.kaleido-jp.net/">（サイトトップ）</a></p>
<p>先日簡単なエントリで書いてますが、今まではてなダイアリーにエントリを書いてまして、やはりデザインの限界などがありWordPressに移行しました。</p>
<div id="attachment_104" class="wp-caption alignleft" style="width: 160px"><a rel="image" href="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/screen.jpg"><img class="size-thumbnail wp-image-104" title="このサイトのPCビュー" src="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/screen-150x150.jpg" alt="PC Site View of This Site" width="150" height="150" /></a><p class="wp-caption-text">このサイトのPCビュー</p></div>
<p>同時に、基本的なスマホ最適化もおこなっています。</p>
<p>ようやく自分のサイトでスマホ最適化ができたので…ということでのエントリです。</p>
<p>ちなみに、このサイト自体はまだまだ作りかけでして…<br />
そもそもサイトの構成がちゃんと考えられておらず、かなりいろいろ行き届いてないサイトです（笑）<br />
（IE系ではちゃんと表示されません…そのうち手入れします。すみません）</p>
<p>どちらかというと、スマホ最適化でのユーザーインターフェースに重きを置いてのエントリとなります。</p>
<p>では、以下にスマホ最適化でおこなったことをまとめてみました。<br />
（ちなみに対象としているスマートフォンはiOSデバイス（iPhone, iPod Touch）、Androidです）<br />
<span id="more-101"></span><br />
<br clear="all" /></p>
<h3>1.PCとスマートフォンの振分け</h3>
<div class="indent">
<strong>基本は、CSSとJavaScriptのみでレイアウト変更しています。</strong></p>
<p><span style="text-decoration: underline;">PHPではUA判定してスマートフォン用のCSSとJSを読み込む数行を加えた程度</span>で、WordPressのテーマのスイッチなどはおこなっていません。</p>
<p>[html]<br />
 &lt;link rel=&quot;stylesheet&quot; href=&quot;http://blog.kaleido-jp.net/wp-content/themes/station2/iLayout/css/iLayout.css&quot;&gt;<br />
 &lt;link rel=&quot;stylesheet&quot; href=&quot;http://blog.kaleido-jp.net/wp-content/themes/station2/css/istyle.css&quot; /&gt;<br />
…<br />
&lt;script type=&#8217;text/javascript&#8217; src=&#8217;http://blog.kaleido-jp.net/wp-content/themes/station2/iLayout/js/iLayout_ui.js?ver=0.1.0&#8242;&gt;&lt;/script&gt;<br />
[/html]</p>
<p><div id="attachment_111" class="wp-caption alignright" style="width: 160px"><a rel="image" href="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/iphone.jpg"><img class="size-thumbnail wp-image-111" title="スマートフォンビュー" src="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/iphone-150x150.jpg" alt="Smart Phone View of This Site" width="150" height="150" /></a><p class="wp-caption-text">スマートフォンビュー</p></div>HTMLソース的には、上記の3行を変えただけでスマートフォン最適化を実現しています。</p>
<p>場合によっては、WordPressのスマホ用テーマを作って、スイッチしてもいいと思うのですが、今回はその方法は見送りました。</p>
<p>なぜかというと、<strong>別のテーマを作るということは、サイトの構成を変えたくなったとき<br />
基本的に2つのテーマを管理・更新しなくてはいけなくなる</strong>なーと。</p>
<p>CSSとJSによるレイアウト変更であれば、基本的にPCサイトの要素はそのまま引き継げるので、要素の取捨選択や変更することに集中でき、変更するファイルがCSSとJSのみとなり効率が良いからです。</p>
<p>PHPテンプレートを変更する必要がなくなります。</p>
<p>もちろん、サイトを管理する人が複数いるとか、運用体制に余裕がある場合は、テーマ切替による最適化でもよいと思います。</p>
<p>また、iPhone3GS全盛時代までは、CSSのメディアクエリで振り分けることもできたのですが、今現在横幅が480px以上のAndroid端末がだいぶ多いので、サーバ言語かJSなどでUA判定して振り分けるようにしましょう。
</p></div>
<p><br clear="all" /></p>
<h3>2.viewportの設定</h3>
<div class="indent">
ほとんどお決まりの記述ですね。<br />
[html]<br />
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=yes&quot;&gt;<br />
[/html]</p>
<p>これについては、いろんなサイトで情報が出ていますので、説明は割愛します。<br />
下記サイトなどをご覧ください。</p>
<ul>
<li>・<a href="http://designblog.ecstudio.jp/htmlcss/iphone-master.html">iPhone向けサイト構築 基礎文法最速マスター</a></li>
<li>・<a href="http://ascii.jp/elem/000/000/538/538092/index-2.html">ASCII.jp：作って学ぶスマートフォン対応サイトの基本｜実践！iPhone＆Androidサイト制作ガイド</a></li>
</ul>
</div>
<p><br clear="all" /></p>
<h3>3.ホーム画面アイコン（iPhone）、ショートカットアイコンの設定（Android）</h3>
<div class="indent">
[html]<br />
&lt;link rel=&quot;apple-touch-icon&quot; href=&quot;http://blog.kaleido-jp.net/wp-content/themes/station2/iLayout/Images/WebClipIcon.png&quot;&gt;<br />
[/html]</p>
<p><div id="attachment_151" class="wp-caption alignleft" style="width: 160px"><a rel="image"  href="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/05c63c1301ca50d535ef44ad5cea421c.png"><img class="size-thumbnail wp-image-151" title="ホーム画面アイコンの設定" src="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/05c63c1301ca50d535ef44ad5cea421c-150x150.png" alt="WebClipIcon" width="150" height="150" /></a><p class="wp-caption-text">ホーム画面アイコンの設定</p></div>（アイコンがダサいですがスルーで…）</p>
<p>この記述をおこなうことで、iPhoneならホーム画面に追加する際のアイコン、Androidならショートカットアイコンを設定できます。<br />
（iPhoneは用意した画像に、自動的に磨き処理がかかって、いい感じになります）</p>
<p>余談ですが、「スマートフォン対応しました！」とアピールしているものの、この設定がされてないサイトをたまに見かけます。なんだか、アピールしているだけに惜しい感じが出てしまうので出来るだけ設定しておいた方が良さそうです（笑）
</p></div>
<p><br clear="all" /></p>
<h3>4.横向き時のテキスト拡大の無効化</h3>
<div class="indent">
スマートフォン時のCSSには次の記述をしています。<br />
[css]<br />
body {<br />
       …<br />
      	-webkit-text-size-adjust: none;<br />
       …<br />
}<br />
[/css]</p>
<div id="attachment_174" class="wp-caption alignleft" style="width: 160px"><a rel="image"  href="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/bbabbb04d5a7596de0f2d5547aff883d.png"><img src="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/bbabbb04d5a7596de0f2d5547aff883d-150x150.png" alt="default" title="デフォルトのまま" width="150" height="150" class="size-thumbnail wp-image-174" /></a><p class="wp-caption-text">デフォルトのまま</p></div>
<p><div id="attachment_175" class="wp-caption alignleft" style="width: 160px"><a rel="image"  href="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/41f71d351263440446e969229e6b0d8a.png"><img src="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/41f71d351263440446e969229e6b0d8a-150x150.png" alt="text adjust none" title="拡大表示無効" width="150" height="150" class="size-thumbnail wp-image-175" /></a><p class="wp-caption-text">拡大表示無効</p></div>これを行うことで、横向きしたときのテキストの自動拡大表示を無効にします。最近は拡大をしないのが一般的のようです。拡大表示されちゃうとなんだか不自然な印象を受けます。</p>
<p>比較していただければわかるように、情報量が全く違います。
</p></div>
<p><br clear="all" /></p>
<h3>5.リキッドレイアウト</h3>
<div class="indent">
このサイトはスマートフォン時には、コンテナ要素をwidth:100%としており、内部要素も必要に応じて横向きにした際に横幅が広がるレイアウトを組んでいます。</p>
<p><div id="attachment_183" class="wp-caption alignleft" style="width: 160px"><a rel="image"  href="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/Untitled.png"><img src="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/Untitled-150x150.png" alt="" title="横幅固定にした場合の横向きビューのイメージ" width="150" height="150" class="size-thumbnail wp-image-183" /></a><p class="wp-caption-text">悪い例：横幅固定にした場合の横向きビューのイメージ</p></div>たまに横幅320pxなどとしたサイトを見かけます。別にそれがいけないというわけではないですが、問題はAndroidで閲覧した時です。iPhoneはレイアウトの組み方によっては、横向きにしたときに自動的にフィットしてくれますが、Androidでは純粋にその固定幅で表示されるため、以下のようなイメージになります。</p>
<p>左右に無駄な余白ができてしまい、なんだか不自然な感じになってしまいます。
</p></div>
<p><br clear="all" /></p>
<h3>6.スマートフォンならではのユーザーインターフェースの実装</h3>
<div class="indent">
<h4>フリックできるスライドの実装</h4>
<p>サイトトップのバナーは、ユーザーがフリック操作が出来るようにしています。<br />
トランジションはCSS3、UIの構築にはjQueryを使って自前プラグイン化してます。</p>
<p>今後いろんなサイトで使い回せるように、実装は下記の1行で済むようなプラグインを作っています。<br />
[javascript]<br />
$(&#8216;#mainImageArea&gt;#mainImages ul li&#8217;).flickSlide({target:&#8217;#mainImageArea&#8217;, duration:5000});<br />
[/javascript]</p>
<p><div id="attachment_111" class="wp-caption alignright" style="width: 160px"><a rel="image" href="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/iphone.jpg"><img class="size-thumbnail wp-image-111" title="スマートフォンビュー" src="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/iphone-150x150.jpg" alt="Smart Phone View of This Site" width="150" height="150" /></a><p class="wp-caption-text">スマートフォンビュー</p></div>このUIはけっこう手の込んだことをしています。</p>
<p>スマホサイトは横向き時というのを、念頭においてリキッドレイアウトという大前提で組む必要がありますが、絶対配置（position:absolute）などの要素を使うことになると、かなりハードルが高くなります。今までのPCサイトでのCSSレイアウト術より高度なスキルと発想が求められるのでは〜？と思っています。</p>
<p>後日のエントリでプラグインの説明と配布をおこなうつもりです。</p>
<p>ちなみに、このUIはAndroidでたまーにバグることがあります。どうやらYahooさんのサイトなどを見ると、iPhoneではフリックが有効になっているのに、Androidではフリック無効となっているので、まだまだAndroid向けサイトではフリックの実装はおこなわない方がよいのかも知れません。</p>
<p><br clear="all" /></p>
<h4>LightBox風の画像表示の実装</h4>
<p>こちらも自前で作成しています。</p>
<p><div id="attachment_188" class="wp-caption alignleft" style="width: 160px"><a rel="image"  href="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/b4f9ea36980c1e7011fa55a03c364e87.png"><img src="http://blog.kaleido-jp.net/wp-content/uploads/2011/04/b4f9ea36980c1e7011fa55a03c364e87-150x150.png" alt="UI like LightBox" title="LightBox風のUI" width="150" height="150" class="size-thumbnail wp-image-188" /></a><p class="wp-caption-text">LightBox風のUI</p></div>PC時はColorBoxという海外の方のプラグインを使用させてもらってるのですが、それをスマートフォン時でも同様に使うと想定どおりにおかしな表示になりました（笑）</p>
<p>なので、こちらのUIも独自にjQueryで作成しました。PCのように凝ったUIにするとだいぶ重くなってしまうので、とりあえずシンプルにしています。
</p></div>
<p><br clear="all" /></p>
<h3>7.手付かずな部分…</h3>
<div class="indent">
だいぶ基本的な部分は作ったものの、元々サイトの構成ができてない上、細かい部分で最適化が行き届いてないです。<br />
たとえば、リンクがボックスリンク（？）になってなかったり…タッチしにくいですよね。</p>
<p>とりあえずは、ちょっと凝ったUIの部分に時間を割いてみました。</p>
<p>もし、なにか気づかれた部分などあればお知らせください。<br />
まだまだ知らないことが多く、日々勉強中です。</p>
<p>長くなってしまいましたが、少しでもみなさんのご参考になれば幸いです。
</p></div>
<p><strong>他の人気エントリ</strong>
<ul class="popular-posts">
<li><span><a href="http://blog.kaleido-jp.net/kaleidoscope/unity_develope/" rel="bookmark" title="2012年2月28日">Unityが使える方を探しています</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/kaleidoscope/unity_develope/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/kaleidoscope/unity_develope/" /></a></span></li>
<li><span><a href="http://blog.kaleido-jp.net/web/typoinsta_bosyu/" rel="bookmark" title="2011年12月6日">デザイナーさん・イラストレーターさんを募集しています</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/web/typoinsta_bosyu/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/web/typoinsta_bosyu/" /></a></span></li>
<li><span><a href="http://blog.kaleido-jp.net/smatphone_app/aboutapp/" rel="bookmark" title="2011年11月19日">Flash終了でアプリは消えないと思うよ？</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/smatphone_app/aboutapp/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/smatphone_app/aboutapp/" /></a></span></li>
<li><span><a href="http://blog.kaleido-jp.net/music/kubbe/" rel="bookmark" title="2012年6月17日">ノルウェー絵本「KUBBE（キュッパ）」映像化の音楽を作りました</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/music/kubbe/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/music/kubbe/" /></a></span></li>
<li><span><a href="http://blog.kaleido-jp.net/web/%e3%83%95%e3%83%aa%e3%83%83%e3%82%af%e3%82%b9%e3%83%a9%e3%82%a4%e3%83%89/" rel="bookmark" title="2011年4月29日">スマートフォンサイトにフリック・スワイプ実装できるjQueryスライダプラグイン</a><a  href="http://b.hatena.ne.jp/entry/http://blog.kaleido-jp.net/web/%e3%83%95%e3%83%aa%e3%83%83%e3%82%af%e3%82%b9%e3%83%a9%e3%82%a4%e3%83%89/" > <img src="http://b.hatena.ne.jp/entry/image/http://blog.kaleido-jp.net/web/%e3%83%95%e3%83%aa%e3%83%83%e3%82%af%e3%82%b9%e3%83%a9%e3%82%a4%e3%83%89/" /></a></span></li>
</ul>
<p><!-- popular Posts took 6.062 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaleido-jp.net/web/%e3%82%b9%e3%83%9e%e3%83%9b%e6%9c%80%e9%81%a9%e5%8c%96/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
