レスポンシブWebデザインは、スマートフォンやタブレットに最適化されたホームページを簡単に実装できる技術です(CSSの知識が必要です)。
今やPCよりもスマートフォンでホームページを閲覧されるユーザーが多く、情報をしっかりユーザーに届けるにはスマホ対応が必要不可欠になってきました。
2015年4月21日、世界で一斉にgoogle検索のアルゴリズムに「スマホ対応」が含まれました。スマホ対応にする事をモバイルフレンドリーと言います。
モバイルフレンドリーが発表されて7週間の猶予がありましたが、皆さんは管理されているホームページのスマホ対応はお済ですか?
当記事で紹介するレスポンシブWebデザインは、CSSがわかれば簡単にできるので、参考にしていただければと思います。
スポンサーリンクプロとしてホームページ作成をしている我々も、androidやiPhone・iPadなどのスマートフォンやタブレットが普及してきて、スマートフォンやタブレット用にホームページを調整するお仕事が増えてきました。今は他のWebデザイナーさん方もスマホ対応のお仕事で忙しくしていると思います。
一昔前は、m/だのi/だの携帯サイトを分散して作ってきてきましたが、別途携帯サイトやスマートフォン用に作られたHTMLを作る必要もなく、HTMLひとつとでスマホ用・タブレット用のCSSを用意すれば、端末のディスプレイサイトに合ったホームページを作る事ができるので、クライアントにとってレスポンシブWebデザインはコスト面でも優しい技術だと思います。
jQueryも使いませんし、CSS3のメディアクエリを利用するからといって、ホームページをHTML5で作らなきゃならないってことも無いですw
当記事では簡単に短く、ホームページをレスポンシブWebデザインにする方法を綴ります。
PC用、スマートフォン用、タブレットの画面サイズによってCSSを切り替えることで、HTML一つで複数のデザインを表現できるという事で、まずはソースを記載します。
HTMLのmetaに以下を記載。
<meta name="viewport" content="width=device-width,user-scalable=no,maximum-scale=1" /> <link rel="stylesheet" media="all" type="text/css" href="style.css" /> <!-- ※デフォルトのスタイル(style.css) --> <link rel="stylesheet" media="all" type="text/css" href="tablet.css" /> <!-- ※タブレット用のスタイル(tablet.css) --> <link rel="stylesheet" media="all" type="text/css" href="smart.css" /> <!-- ※スマートフォン用のスタイル(smart.css) -->
端末の画面サイズの横幅に合わせてCSSを切り替える必要があるので、Viewportを挿入します。
次に3つ(任意)のCSSを用意します(数値は任意です。色々試してみて下さい)
■ PC:横幅769px以上
■ タブレット(android):横幅768px
■ スマートフォン(android):横幅640px
PCとタブレットの横幅は1024以上でも769以上でも良いでしょう。
/*=============================================== ●style.css 画面の横幅が769px以上 ===============================================*/ @media screen and (min-width: 769px){ img{ max-width: 100%; height: auto; width /***/:auto; } #container{ width:100%; } ~以下、画面の横幅が768pxまでの場合のスタイル記入~ } /*=============================================== ●tablet.css 画面の横幅が768pxまで ===============================================*/ @media screen and (max-width: 768px){ img{ max-width: 100%; height: auto; width /***/:auto; } #container{ width:100%; } ~以下、画面の横幅が768pxまでの場合のスタイル記入~ } /*=============================================== ●smart.css 画面の横幅が640pxまで ===============================================*/ @media screen and (max-width:640px){ img{ max-width: 100%; height: auto; width /***/:auto; } #container{ width:100%; } ~以下、画面の横幅が640pxまでの場合のスタイル記入~ }
また、@importで各CSSを読み込む方法もあります。
@import url(style.css) screen and (min-width: 769px); @import url(tablet.css) screen and (max-width: 768px); @import url(smart.css) screen and (max-width: 640px);
そのままだと画像は元のままのサイズで表示されてしまい画面からはみ出てしまいます。
上記にも記載しておりますが、スマートフォン用・タブレット用のCSSに下記のように画像を伸縮するように指定をします。
img{ max-width: 100%; height: auto; width /***/:auto; }
以上になります。
これでレスポンシブWebデザインが換装可能になりますので、細かく各CSSを調整していただければと思います。スマートフォンだけでもタブレットだけでも画像指定でそれぞれ独自のデザインにする事も可能です!
WordPressのプラグインを使わなくてもテーマに直接書き込めますし、MovabletypeやTYPO3などのCMSでも構築可能ですのでお試しあれ。
レスポンシブWebデザインをIEに対応させる為の2つの方法を記載します。
⇒ Respond.jsを挿入する
⇒ Googleコードで公開されているcss3-mediaqueries.jsを挿入する
上記2つのいずれかをHTMLに挿入すればOKです。
しかし、スマートフォンやタブレットのブラウザには、インターネットエクスプローラーはありません。
あるとしてもほぼ使われてないと思って良いです。ですからクライアントからIEにも対応して欲しいと言われたらその旨を伝えてみてはと思います。IEでのレスポンシブWebデザインの確認はほぼ無意味でしょう(笑)
エゴを主張されてきたら追加料金で対応しましょう!
googleが公式ブログでレスポンシブWebデザインでのホームページ作成を推奨すると発表しておりました。
⇒ Google がお勧めするスマートフォンに最適化されたウェブサイトの構築方法
レスポンシブWEBデザインで作成したホームページを端末を分けて一括表示で確認できるサービスたち。
⇒ The Responsinator
⇒ Codebomber // Resizer
⇒ Responsive Design Testing
レスポンシブWebデザインは、一つのHTMLで換装可能ですから、クライアントに提案をすると安くでスマートフォンサイトが作成できると思われますが、うかつに口頭で費用はこのくらいと少額で言ってしまうと後から痛い目に合うことでしょう…。
やはり計画性が大事!
デザイン次第でCSSを0から書き下ろす事にもなるので、手間暇のかかるレスポンシブWebデザイン、出来上がりのイメージをしっかり持ち、見積りをしましょう。
これからはWindows8も普及してきてそうだし、タッチUI前提のWebデザインに移行しても良いですね。
何故、レスポンシブWebデザインを採用するのか?
それはやはり、HTMLが一つで済み、制作・管理・更新の効率が良いからでしょう。
レスポンシブWebデザインは、一つのHTMLでPC用のCSS・スマートフォン用のCSS・タブレット用のCSSを切り替える訳ですが、.htaccessでの切り替え方法もあります。
⇒ .htaccessでスマートフォンサイトをアンドロイドやiPhoneで判別表示
個人的にはこのエントリーで綴ったHTML一つで作るレスポンシブWebデザインでの作成の方が気楽で良いです。
フリーランスWebデザイナーとして活動をはじめて早10年(11年目)。WordPressカスタマイズ、スマートフォン対応など、時代に合った対応能力で、全国の私を必要としてくれる方々からWeb制作のご依頼を頂いております。
各地のコワーキングスペースやWordPressの勉強会(WordBench、WordCamp)などに顔を出し、様々な人達とご縁をいただき刺激を受け、学んだこと感じたことを、日々のお仕事や自社メディアの開発・配信に繋げております。妻、子、愛犬2匹と里山暮らし。趣味で畑で野菜育ててます。当ブログは167記事時点で月間86万PVを達成しました。