画像を大量に使用したギャラリーを作成中なのですが、多くの画像を横スクロールで見れるようにしたいと考えています。
画像はCSSで正方形にトリミングしてあり、クリックすることでlightgallery.jsを使い拡大やダウンロードできるようにしようと思います。
#表示方法
大量の画像の配置にはJavaScriptを利用し連番の画像を表示します。
JavaScript
1document.addEventListener("DOMContentLoaded", function() { 2for (i = 1; i <= 100; i++) { document.getElementById("lightgallery").insertAdjacentHTML('beforeend', '<a href="//placehold.jp/3e80e4/ffffff/500x300.png?text=' + i + '.jpg" class="gallery-img" download>' + '<img data-src="https://placehold.jp/3e80e4/ffffff/500x300.png?text=' + i + '.jpg">' + '</a>'); } 3}, false); 4```出力されるHTMLはこのようになる。 5```HTML 6<a href="//placehold.jp/3e80e4/ffffff/500x300.png?text=1.jpg" class="gallery-img" download> 7<img data-src="https://placehold.jp/3e80e4/ffffff/500x300.png?text=1.jpg" src="https://placehold.jp/3e80e4/ffffff/500x300.png?text=1.jpg"> 8</a>
#トリミング方法
また、トリミングには以下のようなCSSを利用してトリミングしています。
CSS
1.gallery-img { 2 width: 120px; 3 height: 120px; 4 margin: 1px; 5 overflow: hidden; 6} 7.gallery-img img { 8 position: relative; 9 top: 50%; 10 left: 50%; 11 width: auto; 12 height: 100%; 13 -webkit-transform: translate(-50%, -50%); 14 transform: translate(-50%, -50%); 15}
#やってみたCSS
CSS
1main.lightgallery { 2 margin: 0; 3 padding: 5px; 4 overflow:auto; 5} 6#lightgallery { 7 width: auto; 8 height: 100%; 9}
#目標
目標としては左下から123が表示され、さらに数が増えると横スクロールで見えるようにしたいのです。
また、縦の高さはブラウザに合うようにしたいため、数が決められません。
CSSのみで実装できれば良いのですが、無理ならjQueryに依存しないプラグインを使いたいと思うのですが。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/06 06:58 編集
2017/03/06 07:18
2017/03/06 10:13