ポラロイド風画像の作成
ポラロイド写真
- 新規作成
(カンバスサイズ: 800×600) - カンバスを薄い色で塗りつぶす
(後で、透明またはコルクの背景に変える) - 新規レイヤーを作成→選択範囲
(固定:300×300) - 選択範囲を白で塗りつぶし、境界線の作成(サイズ 1px)
- シェイプツールで250×200の長方形を作成し、境界線を付ける。
- 選択ツールに持ち替えて、変形ツールで整列
- 載せたい写真画像を貼付けしてクリッピングマスク作成(レイヤーの境界線をaltクリック)
- 写真画像の内側に境界線を付ける。
※必ず、描画モード(標準)/ 距離0/ 角度90にする。
影をつける
- 写真の周りの白い部分を複製し、描画色を黒に塗りつぶす。
- フィルター → ぼかし → ガウス(半径5.5)
- 自由変形ツールで斜めにする。
- 長兄選択ツールで要らない箇所を選択しdeleteキーで消す。
無料コラージュ作成サイト・ソフトまとめ
コラージュ:たくさんの写真を組み合わせて作る画像のこと。
無料オンラインコラージュ作成サイト
無料テーマ
日本語テーマ
bxslider
bxsliderを設置
- 公式サイトよりダウンロード → 解凍
- 基本的に必要なファイルの確認
「jquery.bxslider.css」と「jquery.bxslider.min.js」と「images」があれば良い。 - htmlファイルの設置
「html」コードの設置
head内
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> <script src="js/jquery.bxslider.min.js"></script> <link href="css/jquery.bxslider.css" rel="stylesheet" />
body内
<ul class="bxslider"> <li><img src="images/r1.png" alt=""></li> <li><img src="images/r2.png" alt=""></li> <li><img src="images/r3.png" alt=""></li> <li><img src="images/r4.png" alt=""></li> </ul>
html記述最下部 (※必ずhtmlが読み込まれてからscriptファイルが読み込まれるようにする。)
<script> $(document).ready(function(){ $('.bxslider').bxSlider(); }); </script>
自動再生したい場合は
<script> $(document).ready(function(){ $('.bxslider').bxSlider({ auto: true, autoControls: true }); }); </script>
GoogleImgSearch
完成図
「html」コード
-
- 全体構成上、リスト要素を「inline-block」や「inline」で制御。
そのため<li>ごとの改行にはコメントアウトをして改行を削除しておく。
- 全体構成上、リスト要素を「inline-block」や「inline」で制御。
-
- 画像サイズは自動的にサムネイルのサイズを生成してくれるため、1種類の大きさものを用意する。
(今回は640×400px)
- 画像サイズは自動的にサムネイルのサイズを生成してくれるため、1種類の大きさものを用意する。
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Google画像検索風スライダー</title> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0"> <link href="css/GoogleImgSearch.css" rel="stylesheet"> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script> <![endif]--> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="js/GoogleImgSearch.js"></script> </head> <body> <div id="container"> <h1>jQuery GoogleImgSearch UI</h1> <ul class="listCover"> <li class="listItem"> <img src="img/01.jpg" alt=""> <div class="selfRep"> <div class="selfRepInner"> <div class="secLeft"><img src="img/01.jpg" alt=""></div> <div class="secRight"><p>エリア【1】のダミーテキスト。エリア【1】のダミーテキスト。エリア【1】のダミーテキスト。エリア【1】のダミーテキスト。エリア【1】のダミーテキスト。エリア【1】のダミーテキスト。</p></div> </div><!--/.selfRepInner--> </div><!--/.selfRep--> </li><!--/.listItem --><li class="listItem"> <img src="img/02.jpg" alt=""> <div class="selfRep"> <div class="selfRepInner"> <div class="secLeft"><img src="img/02.jpg" alt=""></div> <div class="secRight"><p>エリア【2】のダミーテキスト。エリア【2】のダミーテキスト。エリア【2】のダミーテキスト。エリア【2】のダミーテキスト。</p></div> </div><!--/.selfRepInner--> </div><!--/.selfRep--> </li> </ul><!--/.listCover--> </div> </body> </html>
「css」コード
@charset "utf-8"; /* CSS Document */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; vertical-align: baseline; font-family: inherit; font-style: inherit; font-weight: inherit; /* outline: 0;*/ } html { font-size: 75%; -webkit-text-size-adjust: none; } img { vertical-align: text-bottom; -ms-interpolation-mode: bicubic; } a { -webkit-tap-highlight-color: transparent; } strong { font-weight: bold; } ol, ul { list-style: none; } table { border-collapse: collapse; border-spacing: 0; } caption, th, td { font-weight: normal; text-align: left; vertical-align: top; } blockquote:before, blockquote:after, q:before, q:after { content: ""; } blockquote, q { quotes: "" ""; } a:focus { /*\*/ overflow: hidden; /**/ } option { padding-right: 10px; } /* ------------------------------ HTML5 ELEMENTS ------------------------------ */ header,article,aside,section,footer, nav,menu,details,hgroup,summary { display: block; } body { overflow-y: scroll; } *html body {overflow-y: auto;} /* IE6 */ *:first-child+html body {overflow-y: auto;} /* IE7 */ h1 { margin-bottom: 20px; padding: 10px 0; background: #000; color: #fff; font-size: 12px; font-weight: bold; text-align: center; } /* .listCover ------------------------- */ .listCover { margin: 0 auto; text-align: left; } /* .listItem ------------------------- */ .listCover .listItem { padding: 10px 0; text-align: center; display: inline-block; *display: inline; *zoom: 1; cursor: pointer; } .listCover .listItem img { width: 120px; } .listCover .active { background: url(../img/activeArrow.gif) no-repeat bottom center; } .listCover .listItem .selfRep { display: none; } /* .expandField ------------------------- */ .expandField { padding: 0; width: 100%; text-align: left; display: block; background: #222; float: left; position: relative; overflow: hidden; } .expandField .btnClose { top: 10px; right: 0; width: 60px; height: 60px; display: block; background: url(../img/close.png) no-repeat top left; position: absolute; overflow: hidden; cursor: pointer; } .expandField .btnPrev { top: 120px; left: 0; width: 60px; height: 60px; display: block; background: url(../img/prev.png) no-repeat top left; position: absolute; overflow: hidden; cursor: pointer; } .expandField .btnNext { top: 120px; right: 0; width: 60px; height: 60px; display: block; background: url(../img/next.png) no-repeat top left; position: absolute; overflow: hidden; cursor: pointer; } .expandField .selfRepInner { padding: 20px 50px; text-align: center; position: relative; } .expandField .selfRepInner .secLeft, .expandField .selfRepInner .secRight { width: 50%; float: left; } .expandField .selfRepInner .secLeft { text-align: center; } .expandField .selfRepInner .secRight { text-align: left; width: 40%; color: #fff; } /* =========================================== SizeAdjustment =========================================== */ @media screen and (max-width: 600px) { .expandField .selfRepInner .secLeft img { width: 80%; } } @media screen and (max-width: 480px) { .expandField .selfRepInner .secLeft { display: none; } .expandField .selfRepInner .secRight { width: 100%; float: none; } } /* ======================================= ClearFix ======================================= */ .listCover:before, .listCover:after, .expandField .selfRepInner:before, .expandField .selfRepInner:after { content: " "; display: table; } .listCover:after, .expandField .selfRepInner:after {clear: both;} .listCover, .expandField .selfRepInner {*zoom: 1;}
「jQuery」コード
// JavaScript Document $(function(){ var setList = $('.listCover'), //全体を囲う<ul>のクラス名 setItem = $('.listItem'), //<li>に対するクラス名 setReplace = $('.selfRep'), //詳細エリアで表示する要素のクラス名 listBaseWidth = 130, //一覧画面の<li>の幅 thumbOpacity = 0.8, //サムネイルマウスオーバー時の透過度 expandHeight = 340, //詳細エリアの高さ expandFadeTime = 300, //詳細エリア展開時のスライドスピード expandEasing = 'linear', //詳細エリア展開時のイージング switchFadeTime = 1000, //詳細エリア展開後のNEXT/BACK切り替え時のフェードスピード switchEasing = 'linear'; //詳細エリア展開後のNEXT/BACK切り替え時のイージング setList.each(function(){ var targetObj = $(this); var findItem = targetObj.find(setItem), findElm = targetObj.find(setReplace); // リストアイテムクリック findItem.click(function(){ if($(this).hasClass('active')){ closeExpandActive = targetObj.find('.expandField'); closeExpandActive.stop().animate({height:'0',opacity:'0'},expandFadeTime,expandEasing,function(){ closeExpandActive.remove(); }); findItem.removeClass('active'); } else { var setExpand = $('.expandField'), findExpand = targetObj.find(setExpand), thisElm = $(this).find(setReplace).html(); // 展開ボックス制御 if(0 < findExpand.size()){ findExpand.empty().html(thisElm); $(this).after(findExpand).next().append('<span class="btnPrev"></span><span class="btnNext"></span><span class="btnClose"></span>'); var setReplaceInner = $('.selfRepInner'), findInner = targetObj.find(setReplaceInner); findInner.css({opacity:'0'}).stop().animate({opacity:'1'},switchFadeTime,switchEasing); } else { $(this).after('<li class="expandField">' + thisElm + '</li>').next().css({height:'0', opacity:'0'}).stop().animate({height:expandHeight, opacity:'1'},expandFadeTime,expandEasing).append('<span class="btnPrev"></span><span class="btnNext"></span><span class="btnClose"></span>'); } // スクロール位置調整 var thisOffset = $(this).find('img').offset(); $('html,body').animate({scrollTop:(thisOffset.top-10)},200,'linear'); // 操作ボタン動作 function switchNext(){ var setActiveN = targetObj.find('.active'); setActiveN.each(function(){ var listLenghN = findItem.length, listIndexN = findItem.index(this), listCountN = listIndexN+1, findItemFirst = findItem.first(); if(listLenghN == listCountN){ findItemFirst.click(); } else { $(this).next().next().click(); } }); } function switchPrev(){ var setActiveP = targetObj.find('.active'); setActiveP.each(function(){ var listLenghP = findItem.length, listIndexP = findItem.index(this), listCountP = listIndexP+1, findItemLast = findItem.last(); if(1 == listCountP){ findItemLast.click(); } else { $(this).prev().click(); } }); } function switchHide(){ closeExpand = targetObj.find('.expandField'); closeExpand.stop().animate({height:'0',opacity:'0'},expandFadeTime,expandEasing,function(){ closeExpand.remove(); }); findItem.removeClass('active'); } $(this).addClass('active').siblings().removeClass('active'); var btnPrev = targetObj.find('.btnPrev'),btnNext = targetObj.find('.btnNext'),btnClose = targetObj.find('.btnClose'); btnPrev.click(function(){switchPrev();}); btnNext.click(function(){switchNext();}); btnClose.click(function(){switchHide();}); } }); // サムネイルロールオーバー var agent = navigator.userAgent; if(!(agent.search(/iPhone/) != -1 || agent.search(/iPad/) != -1 || agent.search(/iPod/) != -1 || agent.search(/Android/) != -1)){ findItem.hover(function(){ $(this).stop().animate({opacity:thumbOpacity},200); },function(){ $(this).stop().animate({opacity:'1'},200); }); } // リキッド操作 function listAdjust(){ var ulWrap = targetObj.width(), ulNum = Math.floor(ulWrap / listBaseWidth), liFixed = Math.floor(ulWrap / ulNum); findItem.css({width: (liFixed)}); } $(window).resize(function(){listAdjust();}).resize(); $(window).load(function(){setTimeout(function(){listAdjust();},200);}); // for IE8 }); });
Fancy box
- 公式サイト : http://fancyapps.com/fancybox/
Fancy boxの設置
- 公式サイトよりダウンロード→解凍
- 「source」フォルダを「fancybox」にリネーム
- サムネイル用とクリックしたときに出る画像を2種類用意。
(サムネイル : 200×133 メイン画像 : 640×400) - htmlの設置
htmlの設置
- head内に記述
<link rel="stylesheet" href="css/style.css" media="all"> <link rel="stylesheet" href="css/jquery.fancybox.css" media="all"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script src="js/jquery.fancybox.js"></script> <script src="js/jquery.fancybox-media.js"></script>
- body内に記述
<ul id="itemContainer"> <li><a class="fancybox" href="img/main-image1.jpg" data-fancybox-group="gallery"><img src="img/1.jpg" style="width:154px" alt="" /></a></li> <li><a class="fancybox" href="img/main-image2.jpg" data-fancybox-group="gallery"><img src="img/2.jpg" alt="" /></a></li> </ul>
- スクリプトの設定
<script> $(document).ready(function() { $(".fancybox").fancybox({ openEffect : 'none', closeEffect : 'none' }); });
- メイン画像サイズの変更
$(document).ready(function() { $('.fancybox-media').fancybox({ maxWidth : 640,//クリックした後に出てくる画像の大きさ指定 maxHeight : 337, openEffect : 'none', closeEffect : 'none', helpers : { media : {} } }); }); </script>