FLEXBOXの2行目以降での不足分を javascriptで補う

FLEXBOXの2行目以降での不足分を javascriptで補う:

まずは以下の画像を御覧ください。

FLEXBOX(justify-content:space-between)で子要素を並べたものです。


スクリーンショット 2018-12-26 15.04.09.png


本来であれば、2列目の画像は左詰めになってほしいところですが、space-betweenの影響で画像3枚の均等割付になってしまいます。

これを左詰めにするには、最大数(画像の場合は4枚)になるよう不足している分だけの空要素を追加してあげないと期待通りの表示になりません。

ちなみに余りが1(画像が5枚の場合)の時は勝手に左に詰めて表示されます。

function flexCompletion(parentDOMId, maxCount, childDOM){ 
  document.addEventListener('DOMContentLoaded', function(){ 
    var parentDOM = document.getElementById(parentDOMId); 
    var childCount = parentDOM.childElementCount; 
    var addCount = maxCount - childCount % maxCount; 
    if(addCount > 1){ 
      for(i = 0; i < addCount; i++){ 
        var element = document.createElement(childDOM); 
        parentDOM.appendChild(element); 
      }; 
    } 
  }, false); 
}; 
flexCompletion('js-photoframe', 4, 'span'); 
 
以上。

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)