blackboxを使ったスライドショーでの画像サイズを変更したいです。
blackboxというプラグインを使ってフォトギャラリーサイトを制作しています。
(WEB初心者です。HTMLとCSSはそれなりの理解はあるつもりですが、jQuery、jsはコピペして使用するレベルです)
サムネイル画像をクリックすると、拡大画像が表示され、矢印ボタンでスライドを進められるタイプのものですが、
どこをさわれば、拡大画像のサイズカスタマイズができるのかがわからず、困っています。
widthやmargin、paddingなどで設定しようとすると、写真自体ではなく、スライドショーそのもの(背景まるごと)のサイズが変わってしまいます。
拡大された画像(写真だけ)のサイズを変更したく(もっと画像を小さくして周辺余白を作りたい)、
初歩的なことかもしれませんが、どなたかご教授いただけると幸いです。
該当のソースコード
css
1#darkbox{ 2 color:#4B5C6C; 3 font: 14px/1.4 sans-serif; 4 position: fixed; 5 z-index: 999999; 6 top: 0; /* since we cannot use padding */ 7 left: 0; 8 bottom: 0; 9 right: 0; 10 background: #fff none no-repeat 50% 50% / contain; 11 box-shadow: 0 0 0 0 #fff; 12 -webkit-transition: 0.3s; 13 transition: 0.3s; 14 opacity: 0; 15 visibility: hidden; 16} 17 18#darkbox.show{ 19 opacity: 1; 20 visibility: visible; 21} 22 23 24
js
1/** 2 * Darkbox - by Roko.CB 3 * https://github.com/rokobuljan/Darkbox-Gallery 4 */ 5;(function() { 6 jQuery(function($) { 7 8 var $imagesGroup, 9 n = 0, // number of images 10 c = 0, // current image index (counter 0-based) 11 12 $prevNext = $("<a id='darkbox_prev'/><a id='darkbox_next'/>").on("touchstart mousedown", function(e) { 13 e.preventDefault(); 14 e.stopPropagation(); 15 var isNext = this.id === "darkbox_next"; 16 c = isNext ? ++c : --c; 17 showImage(); 18 }), 19 20 $darkbox = $("<div/>", { 21 id: "darkbox", 22 append: $prevNext, 23 appendTo : "body" 24 }), 25 26 $darkboxClose = $("<a/>", { 27 id: "darkbox_close", 28 appendTo: $darkbox, 29 on: { 30 "touchstart mousedown" : function(e) { 31 e.preventDefault(); 32 $darkbox.removeClass("show"); 33 } 34 } 35 }), 36 37 $darkboxDescription = $("<div/>", { 38 id: "darkbox_description", 39 appendTo : $darkbox 40 }), 41 42 $darkboxStats = $("<div/>", { 43 id: "darkbox_stats", 44 appendTo : $darkbox 45 }); 46 47 function showImage() { 48 49 // Prevent counter going out of bounds 50 c = c < 0 ? n - 1 : c % n; 51 52 // Get size of window so that we can define if 53 // background-size needs to be "contain" or "auto". 54 var doc = document.documentElement, 55 docW = Math.max(doc.clientWidth, window.innerWidth || 0), 56 docH = Math.max(doc.clientHeight, window.innerHeight || 0), 57 $cur = $imagesGroup.eq(c), 58 description = $cur.data("darkbox-description"), 59 src = $cur.data("darkbox"); 60 61 $darkbox.addClass("show spinner"); 62 $darkboxDescription.html(description); 63 $darkboxStats.html(n < 2 ? "" : (c+1) +"/"+ n); 64 65 $("<img/>").on("load", function() { 66 var bigger = (this.width > docW || this.height > docH); 67 $darkbox.removeClass("spinner").css({ 68 backgroundImage: "url('" + this.src + "')", 69 backgroundSize: bigger ? "contain" : "auto" 70 }); 71 }).attr("src", src); 72 73 } 74 75 // Call darkbox 76 $(document).on("click", "[data-darkbox],[data-darkbox-group]", function(e) { 77 78 var src = $(this).data("darkbox"), 79 isDummy = !src, // (is just a link calling a group) 80 groupID = $(this).data("darkbox-group"); 81 82 $imagesGroup = !groupID ? $(this) : $('[data-darkbox-group="'+ groupID +'"]').filter("[data-darkbox]"); 83 n = $imagesGroup.length; 84 c = isDummy ? 0 : $imagesGroup.index( this ); 85 86 $prevNext.toggle(n>1); // Hide prev/next if we have a single image 87 $darkbox.css({backgroundImage:"none"}); 88 89 showImage(); // aand, ACTION! 90 }); 91 92 // Keyboard navigation 93 $(document).on("keyup", function (e) { 94 95 var k = e.which; 96 97 if (k === 27) /*ESC */ { 98 $darkbox.removeClass("show"); 99 } 100 if (k === 37) /*LEFT*/ { 101 --c; 102 showImage(); 103 } 104 if (k === 39) /*RIGHT*/ { 105 ++c; 106 showImage(); 107 } 108 }); 109 110 }); 111}()); 112
補足情報(FW/ツールのバージョンなど)
念の為、darkboxの取得リンク先です。
https://github.com/rokobuljan/Darkbox-Gallery
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/26 19:42