可変グリッドレイアウト+ Lazy Load
昨日、divを使ってグリッドレイアウトを作りましたが(グリッドレイアウト(divバージョン) - ウェブ学のすすめ)、今度はarticleやsectionを使って書き直してみました。
書き直すと同時に以下の機能を追加してみました。
- スクロールするごとに画像を読み込んでくれる「Lazy Load Plugin for jQuery」の導入
- 制作サイトで使用した「Media Queries」を利用して可変グリッドに
コード
HTML
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1, maximum-scale=1"> <meta name="apple-mobile-web-app-capable" content="yes"> <title>可変グリッドレイアウト+ Lazy Load</title> <!--[if lte IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!--[if lte IE 9]> <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script> <![endif]--> <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> <script src="jquery.lazyload.js"></script> <script> <!-- $(function() { $("img.lazy").lazyload({ threshold : 250,effect : "fadeIn" }); }); --> </script> </head> <body> <article> <header> <h1><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/logo01.png" alt="" width="300" height="300"></a></h1> <nav> <ul> <li id="nav01"><a href="#"></a></li> <li id="nav02"><a href="#"></a></li> <li id="nav03"><a href="#"></a></li> <li id="nav04"><a href="#"></a></li> </ul> </nav> </header> <section> <ul> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph12_my.jpg" alt="" width="300" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph02_s.jpg" alt="" width="140" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph22_s.jpg" alt="" width="140" height="140"></a></li> </ul> <ul> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph11_l.jpg" alt="" width="300" height="300"></a></li> </ul> <ul> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph10_l.jpg" alt="" width="300" height="300"></a></li> </ul> <ul> <li class="right"><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph01_mt.jpg" alt="" width="140" height="300"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph18_s.jpg" alt="" width="140" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph17_s.jpg" alt="" width="140" height="140"></a></li> </ul> <ul> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph26_l.jpg" alt="" width="300" height="300"></a></li> </ul> <ul> <li class="right"><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph07_mt.jpg" alt="" width="140" height="300"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph21_s.jpg" alt="" width="140" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph03_s.jpg" alt="" width="140" height="140"></a></li> </ul> <ul> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph20_s.jpg" alt="" width="140" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph06_s.jpg" alt="" width="140" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph15_my.jpg" alt="" width="300" height="140"></a></li> </ul> <ul> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph36_mt.jpg" alt="" width="140" height="300"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph19_s.jpg" alt="" width="140" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph37_s.jpg" alt="" width="140" height="140"></a></li> </ul> <ul> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph09_l.jpg" alt="" width="300" height="300"></a></li> </ul> <ul> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph25_s.jpg" alt="" width="140" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph08_s.jpg" alt="" width="140" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph16_s.jpg" alt="" width="140" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph04_s.jpg" alt="" width="140" height="140"></a></li> </ul> <ul> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph23_my.jpg" alt="" width="300" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph28_s.jpg" alt="" width="140" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph05_s.jpg" alt="" width="140" height="140"></a></li> </ul> <ul> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph13_s.jpg" alt="" width="140" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph27_s.jpg" alt="" width="140" height="140"></a></li> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph24_my.jpg" alt="" width="300" height="140"></a></li> </ul> <ul> <li><a href="#"><img class="lazy" src="http://jsrun.it/assets/9/t/C/p/9tCp8.gif" data-original="http://webgaku.hotcom-web.com/image/okazu/ph14_l.jpg" alt="" width="300" height="300"></a></li> </ul> </section> </article> </body> </html>
CSS
@charset "UTF-8"; * { margin:0; padding:0; } body { background-image:url(http://webgaku.hotcom-web.com/image/okazu/bg.png); } article, header, nav, section { display: block; } ul { list-style-type:none; } img { border: none; margin:10px; float:left; } article { width:960px; margin:0 auto; } header { width:320px; float:left; margin:0; } /* nav */ nav { width:320px; } nav ul li { float:left; width:140px; height:140px; margin:10px; } nav ul li a{ display:block; width:140px; height:140px; } /* link、visited */ #nav01 a:link, #nav01 a:visited { background-image:url(http://webgaku.hotcom-web.com/image/okazu/nav01_01.png); } #nav02 a:link, #nav02 a:visited { background-image:url(http://webgaku.hotcom-web.com/image/okazu/nav02_01.png); } #nav03 a:link, #nav03 a:visited { background-image:url(http://webgaku.hotcom-web.com/image/okazu/nav03_01.png); } #nav04 a:link, #nav04 a:visited { background-image:url(http://webgaku.hotcom-web.com/image/okazu/nav04_01.png); } /* hover */ #nav01 a:hover { background-image:url(http://webgaku.hotcom-web.com/image/okazu/nav01_01_o.png); } #nav02 a:hover { background-image:url(http://webgaku.hotcom-web.com/image/okazu/nav02_01_o.png); } #nav03 a:hover { background-image:url(http://webgaku.hotcom-web.com/image/okazu/nav03_01_o.png); } #nav04 a:hover { background-image:url(http://webgaku.hotcom-web.com/image/okazu/nav04_01_o.png); } section ul { width:320px; float:left; } .right { float:right; } /* 641px以上、960px以下 */ @media screen and (min-width:641px) and (max-width:960px){ article { width:640px; } } /* 640px以下 */ @media screen and (max-width:640px){ article { width:320px; } } /* IE7 対策 */ *+html nav { margin:0; } *+html section { margin:0; } *+html section ul { height:320px; } *+html section ul li { float:left; margin:0 0 10px; }