<?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%bc%e3%83%88%e3%83%95%e3%82%a9%e3%83%b3%e3%82%b5%e3%82%a4%e3%83%88/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>スマホ最適化でやったこと</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 4.629 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>
