David Kris
David Kris

Reputation: 661

Flexbox image layout

I'm trying to create a flex box layout so when the screen resizes smaller the images will fall underneath each other and if the screen size gets bigger more images will apear on the line. I thought maybe giving the flex-container a max-width would work but it didn't. How would I achieve this? Anything helps, thanks.

/*Fonts*/
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,600);
@import url(https://use.fontawesome.com/releases/v5.0.8/css/all.css);

/*Body*/
body {
	font-family: "Open Sans", Arial, sans-serif;
	background-color: #fefefe;
	padding-bottom: 3rem;}

/*Profile Picture*/
.profile-picture {
  display: flex;
  margin-top: 55px;
  margin-bottom: 35px;
  display: inline-block;
  width: 125px;
  height: 125px;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-color: #f1f1f1;}
.image {
  background-image: url('https://www.dropbox.com/s/8dtg60sbha99x2o/Photo%202018-02-05%2C%209%2026%2043%20AM.jpg?raw=1');}

/*Profile Name*/
.profile-name {
  text-align:center; 
  margin-top:-20px; 
  margin-bottom:35px; 
  font-weight:bold;}

/*User Name*/
.user-name {
  text-align:center; 
  margin-top:-30px; 
  margin-bottom:35px; 
  color:rgba(1,1,1,0.35);}

/*Follow Button*/
.follow-button-position {
  text-align:center;
  margin-bottom:55px;
  margin-top:-10px;}
.follow-button {
  text-align:center;
  padding-top:7.5px;
  padding-bottom:7.5px; 
  padding-left:25px; 
  padding-right:25px;
  border-radius:2px;
  background-color:rgba(1,1,1,0); 
  border-style:solid; 
  border-color:#af985a; 
  border-width:1px;
  color:#af985a;}
.follow-button:hover {
  cursor:pointer;}

/*Posts*/
.flex-container {
  display: flex;
  justify-content: center;}

img {
    max-width:270px;
  height:auto;
padding:15px;}
<div class="flex-container">
  <div class="profile-picture image">
  </div>
</div>

<div class="profile-name">
  <p>cole gwoz</p> 
</div>

<div class="user-name">
  <p>colegwoz</p>
</div>

<div class="follow-button-position">
  <button class="follow-button">Follow</button>
</div>

<div class="flex-container">
  <div>
<img src="https://www.dropbox.com/s/4c05cegbonfqo5k/Photo%202018-03-03%2C%202%2020%2022%20PM.jpg?raw=1"></div>
  <div><img src="https://www.dropbox.com/s/6h9hp6pdgdyiqwt/Photo%202018-01-01%2C%204%2038%2010%20PM.jpg?raw=1"></div>
  <div><img src="https://www.dropbox.com/s/qzuhelo4lf7eyu0/Photo%202018-01-01%2C%204%2038%2037%20PM.jpg?raw=1"></div>
</div>

Upvotes: 0

Views: 95

Answers (2)

StefanBob
StefanBob

Reputation: 5128

.flex-container {
    flex-wrap: wrap:
}

Will wrap the items. If you want more control you can use media queries and set the widths of the flex children as well. Usually width: 100% and a max-width to make responsive

Upvotes: 1

Amarilis Iveth Alveo
Amarilis Iveth Alveo

Reputation: 11

You can try putting a mediquerie

@media screen and (max-width: 39.9375em) {
.container {
  flex-direction: column;
}}

you could put everything inside a container?

Upvotes: 1

Related Questions