スマホウェブの本命 jquerymobile

14
スマホウェブの本命 jQueryMobile 2012/04/08 mauekusa

Upload: manabu-uekusa

Post on 16-May-2015

11.490 views

Category:

Technology


2 download

DESCRIPTION

スマートフォンでウェブサイトを作る際に、使いやすい・見やすいインターフェイスが作成出来るjQueryMobileのまとめ

TRANSCRIPT

Page 1: スマホウェブの本命 jQueryMobile

スマホウェブの本命jQueryMobile

2012/04/08mauekusa

Page 2: スマホウェブの本命 jQueryMobile

jQueryMobileスマートフォンタブレット向けのプラットフォーム

簡単にタッチパネル向けインターフェイスが

作れるhttp://jquerymobile.com/

Page 3: スマホウェブの本命 jQueryMobile

ドキュメントサンプル付きの分かりやすいドキュメントも公式ページに掲載

http://jquerymobile.com/demos/1.1.0-rc.2/

Page 4: スマホウェブの本命 jQueryMobile

プラットフォーム幅広く様々な

プラットフォームにグレードを分けてサポートしている

http://jquerymobile.com/original-graded-browser-matrix/

Page 5: スマホウェブの本命 jQueryMobile

<!DOCTYPE html> <html> <head> <title>My Page</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.2/jquery.mobile-1.1.0-rc.2.min.css" /> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script src="http://code.jquery.com/mobile/1.1.0-rc.2/jquery.mobile-1.1.0-rc.2.min.js"></script></head> <body>

<div data-role="page">

<div data-role="header"> <h1>My Title</h1> </div><!-- /header -->

<div data-role="content"> <p>Hello world</p> <br><br><br><br> <br><br><br><br> <br><br><br><br> <br><br><br><br> <br><br><br><br> </div><!-- /content --> <div data-role="footer"> <h1>footer</h1> </div><!-- /footer -->

</div><!-- /page -->

</body></html>

ヘッダ

コンテンツ

フッタ

ページの基本

Page 6: スマホウェブの本命 jQueryMobile

Theme 標準で5種類を提供<div data-role="header"> <h1>Default Theme</h1></div><div class="ui-body ui-body-c"> <h3>Default Theme Content Header</h3> <p>This is the default content color swatch and a preview of a <a href="#" class="ui-link">link</a>.</p> <a href="#" data-role="button" data-inline="true">Button</a></div>

<div data-role="header" data-theme="a"> <h1>Header A</h1></div><div class="ui-body ui-body-a"> <h3>Header</h3> <p>This is content color swatch "A" and a preview of a <a href="#" class="ui-link">link</a>.</p> <a href="#" data-role="button" data-inline="true">Button</a></div>

<div data-role="header" data-theme="b"> <h1>Header B</h1></div><div class="ui-body ui-body-b"> <h3>Header</h3> <p>This is content color swatch "B" and a preview of a <a href="#" class="ui-link">link</a>.</p> <a href="#" data-role="button" data-inline="true">Button</a></div>

<div data-role="header" data-theme="c"> <h1>Header C</h1></div><div class="ui-body ui-body-c"> <h3>Header</h3> <p>This is content color swatch "C" and a preview of a <a href="#" class="ui-link">link</a>.</p> <a href="#" data-role="button" data-inline="true">Button</a></div>

<div data-role="header" data-theme="d"> <h1>Header D</h1></div><div class="ui-body ui-body-d"> <h3>Header</h3> <p>This is content color swatch "D" and a preview of a <a href="#" class="ui-link">link</a>.</p> <a href="#" data-role="button" data-inline="true">Button</a></div>

<div data-role="header" data-theme="e"> <h1>Header E</h1></div><div class="ui-body ui-body-e"> <h3>Header</h3> <p>This is content color swatch "E" and a preview of a <a href="#" class="ui-link">link</a>.</p> <a href="#" data-role="button" data-inline="true">Button</a></div>

Default

Swatch A

Swatch B

Swatch C

Swatch D

Swatch E

Page 7: スマホウェブの本命 jQueryMobile

タップしやすいボタン標準ボタン <a href="index.html" data-role="button">Link button</a>

ミニボタン <a href="index.html" data-role="button" data-mini="true">Link button</a>

インラインボタン <a href="index.html" data-role="button" data-inline="true">Button</a>

テーマ指定 <a href="index.html" data-role="button" data-inline="true">Cancel</a><a href="index.html" data-role="button" data-inline="true" data-theme="b">Save</a>

アイコン指定 <a href="index.html" data-role="button" data-icon="delete">Delete</a>

data-icon

Page 8: スマホウェブの本命 jQueryMobile

基本リスト<ul data-role="listview" data-inset="true"> <li><a href="index.html">Acura</a></li> <li><a href="index.html">Audi</a></li> <li><a href="index.html">BMW</a></li> <li><a href="index.html">Cadillac</a></li> <li><a href="index.html">Ferrari</a></li></ul>

<ul data-role="listview" data-inset="true"> <li><a href="index.html">Inbox <span class="ui-li-count">12</span></a></li> <li><a href="index.html">Outbox <span class="ui-li-count">0</span></a></li> <li><a href="index.html">Drafts <span class="ui-li-count">4</span></a></li> <li><a href="index.html">Sent <span class="ui-li-count">328</span></a></li> <li><a href="index.html">Trash <span class="ui-li-count">62</span></a></li></ul>

<ol data-role="listview" data-inset="true"> <li><a href="index.html">The Godfather</a></li> <li><a href="index.html">Inception</a></li> <li><a href="index.html">The Good, the Bad and the Ugly </a></li> <li><a href="index.html">Pulp Fiction</a></li> <li><a href="index.html">Schindler's List</a></li></ol>

シンプルリスト

カウントバブル

ナンバーリスト

Page 9: スマホウェブの本命 jQueryMobile

画像付きリスト<ul data-role="listview" data-inset="true"> <li><a href="index.html"> <h3>Stephen Weber</h3> <p><strong>You've been invited to a meeting at Filament Group in Boston, MA</strong></p> <p>Hey Stephen, if you're available at 10am tomorrow, we've got a meeting with the jQuery team.</p> <p class="ui-li-aside"><strong>6:24</strong>PM</p> </a></li> <li><a href="index.html"> <h3>jQuery Team</h3> <p><strong>Boston Conference Planning</strong></p> <p>In preparation for the upcoming conference in Boston, we need to start gathering a list of sponsors and speakers.</p> <p class="ui-li-aside"><strong>9:18</strong>AM</p> </a></li></ul>

フォーマットリスト

アイコンリスト

サムネイルリスト

<ul data-role="listview" data-inset="true"> <li><a href="index.html"><img src="images/gf.png" alt="France" class="ui-li-icon ui-corner-none">France <span class="ui-li-count">4</span></a></li> <li><a href="index.html"><img src="images/de.png" alt="Germany" class="ui-li-icon">Germany <span class="ui-li-count">4</span></a></li> <li><a href="index.html"><img src="images/gb.png" alt="Great Britain" class="ui-li-icon">Great Britain <span class="ui-li-count">0</span></a></li> <li><a href="index.html"><img src="images/fi.png" alt="Finland" class="ui-li-icon">Finland <span class="ui-li-count">12</span></a></li> <li><a href="index.html"><img src="images/sj.png" alt="Norway" class="ui-li-icon">Norway <span class="ui-li-count">328</span></a></li> <li><a href="index.html"><img src="images/us.png" alt="United States" class="ui-li-icon ui-corner-none">United States <span class="ui-li-count">62</span></a></li></ul>

<ul data-role="listview" data-inset="true"> <li><a href="index.html"> <img src="images/album-bb.jpg" /> <h3>Broken Bells</h3> <p>Broken Bells</p> </a><a href="lists-split-purchase.html" data-rel="dialog" data-transition="slideup">Purchase album</a></li><li><a href="index.html"> <img src="images/album-hc.jpg" /> <h3>Warning</h3> <p>Hot Chip</p></a><a href="lists-split-purchase.html" data-rel="dialog" data-transition="slideup">Purchase album</a></li><li><a href="index.html"> <img src="images/album-p.jpg" /> <h3>Wolfgang Amadeus Phoenix</h3> <p>Phoenix</p> </a><a href="lists-split-purchase.html" data-rel="dialog" data-transition="slideup">Purchase album</a></li></ul>

Page 10: スマホウェブの本命 jQueryMobile

分割・検索リスト

検索付きリスト

分割リスト

<ul data-role="listview"> <li data-role="list-divider">A</li> <li><a href="index.html">Adam Kinkaid</a></li> <li><a href="index.html">Alex Wickerham</a></li> <li><a href="index.html">Avery Johnson</a></li> <li data-role="list-divider">B</li> <li><a href="index.html">Bob Cabot</a></li></ul>

<ul data-role="listview" data-filter="true"> <li><a href="index.html">Acura</a></li> <li><a href="index.html">Audi</a></li> <li><a href="index.html">BMW</a></li> <li><a href="index.html">Cadillac</a></li> <li><a href="index.html">Dodge</a></li> <li><a href="index.html">Ford</a></li></ul>

Page 11: スマホウェブの本命 jQueryMobile

<div data-role="fieldcontain"> <label for="name">Text Input:</label> <input type="text" name="name" id="name" value="" /></div>

<div data-role="fieldcontain"><label for="textarea">Textarea:</label><textarea cols="40" rows="8" name="textarea" id="textarea"></textarea></div>

<div data-role="fieldcontain"> <label for="search">Search Input:</label> <input type="search" name="password" id="search" value="" /></div>

<div data-role="fieldcontain"> <label for="slider2">Flip switch:</label> <select name="slider2" id="slider2" data-role="slider"> <option value="off">Off</option> <option value="on">On</option> </select></div>

<div data-role="fieldcontain"> <label for="slider">Slider:</label> <input type="range" name="slider" id="slider" value="50" min="0" max="100" data-highlight="true" /></div>

<div data-role="fieldcontain"><fieldset data-role="controlgroup"> <legend>Choose as many snacks as you'd like:</legend> <input type="checkbox" name="checkbox-1a" id="checkbox-1a" class="custom" /> <label for="checkbox-1a">Cheetos</label> <input type="checkbox" name="checkbox-2a" id="checkbox-2a" class="custom" /> <label for="checkbox-2a">Doritos</label> <input type="checkbox" name="checkbox-3a" id="checkbox-3a" class="custom" /> <label for="checkbox-3a">Fritos</label> <input type="checkbox" name="checkbox-4a" id="checkbox-4a" class="custom" /> <label for="checkbox-4a">Sun Chips</label></fieldset></div>

<div data-role="fieldcontain"><fieldset data-role="controlgroup" data-type="horizontal"> <legend>Font styling:</legend> <input type="checkbox" name="checkbox-6" id="checkbox-6" class="custom" /> <label for="checkbox-6">b</label> <input type="checkbox" name="checkbox-7" id="checkbox-7" class="custom" /> <label for="checkbox-7"><em>i</em></label> <input type="checkbox" name="checkbox-8" id="checkbox-8" class="custom" /> <label for="checkbox-8">u</label></fieldset></div>

フォーム要素

<div data-role="fieldcontain"> <fieldset data-role="controlgroup"> <legend>Choose a pet:</legend> <input type="radio" name="radio-choice-1" id="radio-choice-1" value="choice-1" checked="checked" /> <label for="radio-choice-1">Cat</label> <input type="radio" name="radio-choice-1" id="radio-choice-2" value="choice-2" /> <label for="radio-choice-2">Dog</label> <input type="radio" name="radio-choice-1" id="radio-choice-3" value="choice-3" /> <label for="radio-choice-3">Hamster</label> <input type="radio" name="radio-choice-1" id="radio-choice-4" value="choice-4" /> <label for="radio-choice-4">Lizard</label> </fieldset></div>

<div data-role="fieldcontain"> <fieldset data-role="controlgroup" data-type="horizontal"> <legend>Layout view:</legend> <input type="radio" name="radio-choice-b" id="radio-choice-c" value="on" checked="checked" /> <label for="radio-choice-c">List</label> <input type="radio" name="radio-choice-b" id="radio-choice-d" value="off" /> <label for="radio-choice-d">Grid</label> <input type="radio" name="radio-choice-b" id="radio-choice-e" value="other" /> <label for="radio-choice-e">Gallery</label> </fieldset></div>

<div data-role="fieldcontain"> <label for="select-choice-1" class="select">Choose shipping method:</label> <select name="select-choice-1" id="select-choice-1"> <option value="standard">Standard: 7 day</option> <option value="rush">Rush: 3 days</option> <option value="express">Express: next day</option> <option value="overnight">Overnight</option> </select></div>

<div class="ui-body ui-body-b"><fieldset class="ui-grid-a"> <div class="ui-block-a"><button type="submit" data-theme="d">Cancel</button></div> <div class="ui-block-b"><button type="submit" data-theme="a">Submit</button></div></fieldset></div>

Page 12: スマホウェブの本命 jQueryMobile

レイアウトグリッド<fieldset class="ui-grid-a">! <div class="ui-block-a"><button type="submit" data-theme="c">Cancel</button></div>! <div class="ui-block-b"><button type="submit" data-theme="b">Submit</button></div></fieldset>2段 ボタン

2段レイアウト <div class="ui-grid-a"><div class="ui-block-a"><div class="ui-bar ui-bar-e" style="height:120px">Block A</div></div><div class="ui-block-b"><div class="ui-bar ui-bar-e" style="height:120px">Block B</div></div></div><!-- /grid-a -->

<div class="ui-grid-b">! <div class="ui-block-a"><div class="ui-bar ui-bar-e" style="height:120px">Block A</div></div>! <div class="ui-block-b"><div class="ui-bar ui-bar-e" style="height:120px">Block B</div></div>! <div class="ui-block-c"><div class="ui-bar ui-bar-e" style="height:120px">Block C</div></div></div><!-- /grid-b -->

<div class="ui-grid-c">! <div class="ui-block-a"><div class="ui-bar ui-bar-e" style="height:120px">A</div></div>! <div class="ui-block-b"><div class="ui-bar ui-bar-e" style="height:120px">B</div></div>! <div class="ui-block-c"><div class="ui-bar ui-bar-e" style="height:120px">C</div></div>! <div class="ui-block-d"><div class="ui-bar ui-bar-e" style="height:120px">D</div></div></div><!-- /grid-c -->

<div class="ui-grid-d">! <div class="ui-block-a"><div class="ui-bar ui-bar-e" style="height:120px">A</div></div>! <div class="ui-block-b"><div class="ui-bar ui-bar-e" style="height:120px">B</div></div>! <div class="ui-block-c"><div class="ui-bar ui-bar-e" style="height:120px">C</div></div>! <div class="ui-block-d"><div class="ui-bar ui-bar-e" style="height:120px">D</div></div>! <div class="ui-block-e"><div class="ui-bar ui-bar-e" style="height:120px">E</div></div></div><!-- /grid-d -->

4段レイアウト

3段レイアウト

5段レイアウト

Page 13: スマホウェブの本命 jQueryMobile

フォームをうまくレイアウトする<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>My Page</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.2/jquery.mobile-1.1.0-rc.2.min.css" /> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script src="http://code.jquery.com/mobile/1.1.0-rc.2/jquery.mobile-1.1.0-rc.2.min.js"></script> <style type="text/css">input[type="text"] { font-size: 16px; line-height: 1.4; padding: .4em; height: 26px; margin-top: 1px; margin-bottom: 1px; border-radius: .6em; -webkit-border-radius: .6em; -moz-border-radius: .6em; background: #f0f0f0; border: 1px solid #b3b3b3; color: #333; -moz-box-shadow: inset 0 1px 4px rgba(0,0,0,.2); -webkit-box-shadow: inset 0 1px 4px rgba(0,0,0,.2); box-shadow: inset 0 1px 4px rgba(0,0,0,.2);}

</style> </head> <body>

<div data-role="page">

<div data-role="header"> <h1>My Title</h1> </div><!-- /header -->

<div data-role="content"> <h2>サンプル</h2>

<h3>均等割り付けボタン</h3>

<div class="ui-grid-b"> <div class="ui-block-a"><a href="#" data-role="button" data-theme="a">Button A</a></div> <div class="ui-block-b"><a href="#" data-role="button" data-theme="b">Button B</a></div> <div class="ui-block-c"><a href="#" data-role="button" data-theme="c">Button C</a></div></div><!-- /grid-b -->

<h3>横幅指定で横並びボタン</h3>

<div style="width:400px; overflow:hidden; "> <a href="#" data-role="button" data-theme="a" data-inline="true" data-icon="back" >戻る</a>

<a href="#" data-role="button" data-theme="b" data-inline="true" data-icon="check">実行</a>

<a href="#" data-role="button" data-theme="c" data-inline="true" data-icon="delete">キャンセル</a>

</div>

<h3>Input fieldの長さ指定</h3>

<div data-role="fieldcontain" style="width:100%; overflow:hidden;"> <label>ラベル: </label><input data-role="none" type="text" name="name" id="name" value="" size=12>

<label>円</label>

</div> <br><br> </div><!-- /content --> <div data-role="footer"> <h1>footer</h1> </div><!-- /footer -->

</div><!-- /page -->

</body></html>

Page 14: スマホウェブの本命 jQueryMobile

オススメ書籍AndroidのためのHTML5本格アプリ開発

http://amzn.to/HMl5kH

jQuery Mobile

http://amzn.to/HMlrrx

jQuery Mobile スマートフォンサイト  デザイン入門 (WEB PROFESSIONAL)

http://amzn.to/IetVw2

jQuery Mobileでかんたんスマートフォン向けWeb―jQuery Mobile1.0Final対応

http://amzn.to/HMm3NE

jQuery Mobile スマートフォンサイト制作入門コースhttp://amzn.to/IeuohI