¿Puedo cambiar el valor de "justificar contenido" dependiendo del número de elementos en el contenedor flexible?

Estoy trabajando en una galería de imágenes en un sitio heredado. No puedo usar otra cosa que no sea HTML / jQuery o JS / CSS. Sé que esto sería mucho más fácil con Bootstrap o alguna biblioteca de cuadrícula.

Lo estoy construyendo con flexbox. Hay cuatro imágenes en cada fila, con varias filas. Se ve muy bien cuando cada fila tiene sus cuatro imágenes. Cuando tiene 2 o 3, porque estoy usandojustify-content: space-between, lo hace parecer extraño debido a la gran brecha entre las imágenes.

La razón por la que estoy usandospace-between es que quiero que las imágenes se alineen a la izquierda del contenedor principal y también a la derecha.

Algunas notas:

Cada elemento flexible tiene un ancho máximo de 150 pxQuiero un margen entre los elementos, pero no me importa si este margen cambia a medida que cambia el ancho de la ventana gráficael contenedor flexible tiene un ancho máximo que solo permite cuatro elementos de 150 px de ancho en una fila

Mi pregunta: si una fila tiene menos de un conjunto de elementos (en este caso cuatro), ¿puedo cambiar eljustify-content ser algo más apropiado, comoflex-start?

Idealmente, quiero hacer esto sin JavaScript / jQuery, pero si eso es imposible, también estoy abierto a esas soluciones.

Además, siéntase libre de informarme si estoy pensando demasiado en esto y ni siquiera necesito usarjustify-content: space-between. Aquí hay un ejemplo de trabajo:

/* outer container */
.flex-container {
  padding: 24px 0;
  background: white;
  border: solid 1px rgba(0,0,0,.1);
  max-width: 700px; /* or whatever */
  
  /* flex props */
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* contains img block and title */
.thumb-grid {
  border: solid 1px rgba(0,0,0,.1);
  width: 150px;
  margin-bottom: 36px;
}

.thumb-grid:first-of-type { margin-left: 0; }
.thumb-grid:nth-of-type(4) { margin-right: 0; }

.thumb-grid p {
  text-align: center;
}

.img-block {
  background: black;
  height: 150px;
}

.img-block img {
  height: 150px;
  opacity: 1;
  transition: opacity 150ms;
}

.img-block:hover img {
  opacity: .9;
}
<div class="flex-container">
    
    <div class="thumb-grid">      
      <div class="img-block">        
        <a href=""><img src="https://www.expedient.com/wp-content/uploads/2017/06/exp-mq-resouce-thumbnail-1-150x150.jpg" alt="example image"></a>        
      </div>      
      <p>Image 1</p>      
    </div>
    
    <div class="thumb-grid">      
      <div class="img-block">        
        <a href=""><img src="https://www.expedient.com/wp-content/uploads/2017/06/exp-mq-resouce-thumbnail-1-150x150.jpg" alt="example image"></a>        
      </div>      
      <p>Image 2</p>      
    </div>
    
   <div class="thumb-grid">      
      <div class="img-block">        
        <a href=""><img src="https://www.expedient.com/wp-content/uploads/2017/06/exp-mq-resouce-thumbnail-1-150x150.jpg" alt="example image"></a>        
      </div>      
      <p>Image 3</p>      
    </div>
    
    <div class="thumb-grid">
      <div class="img-block">       
        <a href=""><img src="https://www.expedient.com/wp-content/uploads/2017/06/exp-mq-resouce-thumbnail-1-150x150.jpg" alt="example image"></a>        
      </div>      
      <p>Image 4</p>      
    </div>
    
    <div class="thumb-grid">      
      <div class="img-block">        
        <a href=""><img src="https://www.expedient.com/wp-content/uploads/2017/06/exp-mq-resouce-thumbnail-1-150x150.jpg" alt="example image"></a>        
      </div>      
      <p>Image 5</p>      
    </div>
    
    <div class="thumb-grid">      
      <div class="img-block">        
        <a href=""><img src="https://www.expedient.com/wp-content/uploads/2017/06/exp-mq-resouce-thumbnail-1-150x150.jpg" alt="example image"></a>        
      </div>      
      <p>Image 6</p>      
    </div>
    
   <div class="thumb-grid">      
      <div class="img-block">
        <a href=""><img src="https://www.expedient.com/wp-content/uploads/2017/06/exp-mq-resouce-thumbnail-1-150x150.jpg" alt="example image"></a>        
      </div>      
      <p>Image 7</p>      
    </div>
    
  </div>

Respuestas a la pregunta(4)

Su respuesta a la pregunta