How TO – Portfolio Gallery


Previous


Next

Learn how to create a responsive portfolio gallery grid with CSS.

Portfolio Gallery

Learn how to create a responsive portfolio gallery that varies between 4 columns, 2 columns and full-width columns depending on screen width:






MYLOGO.COM


PORTFOLIO

Resize the browser window to see the responsive effect.


Mountains

My Work

Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.

Lights

My Work

Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.

Nature

My Work

Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.

Mountains

My Work

Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.


Bear

Some Other Work

Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.

Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.



Example

<!DOCTYPE html>
<html>
<head>
<meta name=”viewport” content=”width=device-width, initial-scale=1″>
<style>
* {
box-sizing: border-box;
}

body {
background-color: #f1f1f1;
padding: 20px;
font-family: Arial;
}

/* Center website */
.main {
max-width: 1000px;
margin: auto;
}

h1 {
font-size: 50px;
word-break: break-all;
}

.row {
margin: 8px -16px;
}

/* Add padding BETWEEN each column */
.row,
.row > .column {
padding: 8px;
}

/* Create four equal columns that floats next to each other */
.column {
float: left;
width: 25%;
}

/* Clear floats after rows */
.row:after {
content: “”;
display: table;
clear: both;
}

/* Content */
.content {
background-color: white;
padding: 10px;
}

/* Responsive layout – makes a two column-layout instead of four columns */
@media screen and (max-width: 900px) {
.column {
width: 50%;
}
}

/* Responsive layout – makes the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
.column {
width: 100%;
}
}
</style>
</head>
<body>

<!– MAIN (Center website) –>
<div>

<h1>MYLOGO.COM</h1>
<hr>

<h2>PORTFOLIO</h2>
<p>Resize the browser window to see the responsive effect.</p>

<!– Portfolio Gallery Grid –>
<div>
<div>
<div>
<img src=”/w3images/mountains.jpg” alt=”Mountains” style=”width:100%”>
<h3>My Work</h3>
<p>Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.</p>
</div>
</div>
<div>
<div>
<img src=”/w3images/lights.jpg” alt=”Lights” style=”width:100%”>
<h3>My Work</h3>
<p>Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.</p>
</div>
</div>
<div>
<div>
<img src=”/w3images/nature.jpg” alt=”Nature” style=”width:100%”>
<h3>My Work</h3>
<p>Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.</p>
</div>
</div>
<div>
<div>
<img src=”/w3images/mountains.jpg” alt=”Mountains” style=”width:100%”>
<h3>My Work</h3>
<p>Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.</p>
</div>
</div>
<!– END GRID –>
</div>

<div>
<img src=”/w3images/p3.jpg” alt=”Bear” style=”width:100%”>
<h3>Some Other Work</h3>
<p>Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.</p>
<p>Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.</p>
</div>

<!– END MAIN –>
</div>

</body>
</html>

How To Create a Portfolio Website

Step 1) Add HTML:

Example

<!– MAIN (Center website) –>
<div class=”main”>

<h1>MYLOGO.COM</h1>
<hr>

<h2>PORTFOLIO</h2>
<p>Resize the browser window to see the responsive effect.</p>

<!– Portfolio Gallery Grid –>
<div class=”row”>
  <div class=”column”>
    <div class=”content”>
      <img src=”mountains.jpg” alt=”Mountains” style=”width:100%”>
      <h3>My Work</h3>
      <p>Lorem ipsum..</p>
    </div>
  </div>
  <div class=”column”>
    <div class=”content”>
      <img src=”lights.jpg” alt=”Lights” style=”width:100%”>
      <h3>My Work</h3>
      <p>Lorem ipsum..</p>
    </div>
  </div>
  <div class=”column”>
    <div class=”content”>
      <img src=”nature.jpg” alt=”Nature” style=”width:100%”>
      <h3>My Work</h3>
      <p>Lorem ipsum..</p>
    </div>
  </div>
  <div class=”column”>
    <div class=”content”>
      <img src=”mountains.jpg” alt=”Mountains” style=”width:100%”>
      <h3>My Work</h3>
      <p>Lorem ipsum..</p>
    </div>
  </div>
</div>

<div class=”content”>
  <img src=”bear.jpg” alt=”Bear” style=”width:100%”>
  <h3>Some Other Work</h3>
  <p>Lorem ipsum..</p>
</div>

<!– END MAIN –>
</div>

Step 2) Add CSS:

Example

<!DOCTYPE html>
<html>
<head>
<meta name=”viewport” content=”width=device-width, initial-scale=1″>
<style>
* {
box-sizing: border-box;
}

body {
background-color: #f1f1f1;
padding: 20px;
font-family: Arial;
}

/* Center website */
.main {
max-width: 1000px;
margin: auto;
}

h1 {
font-size: 50px;
word-break: break-all;
}

.row {
margin: 8px -16px;
}

/* Add padding BETWEEN each column */
.row,
.row > .column {
padding: 8px;
}

/* Create four equal columns that floats next to each other */
.column {
float: left;
width: 25%;
}

/* Clear floats after rows */
.row:after {
content: “”;
display: table;
clear: both;
}

/* Content */
.content {
background-color: white;
padding: 10px;
}

/* Responsive layout – makes a two column-layout instead of four columns */
@media screen and (max-width: 900px) {
.column {
width: 50%;
}
}

/* Responsive layout – makes the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
.column {
width: 100%;
}
}
</style>
</head>
<body>

<!– MAIN (Center website) –>
<div>

<h1>MYLOGO.COM</h1>
<hr>

<h2>PORTFOLIO</h2>
<p>Resize the browser window to see the responsive effect.</p>

<!– Portfolio Gallery Grid –>
<div>
<div>
<div>
<img src=”/w3images/mountains.jpg” alt=”Mountains” style=”width:100%”>
<h3>My Work</h3>
<p>Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.</p>
</div>
</div>
<div>
<div>
<img src=”/w3images/lights.jpg” alt=”Lights” style=”width:100%”>
<h3>My Work</h3>
<p>Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.</p>
</div>
</div>
<div>
<div>
<img src=”/w3images/nature.jpg” alt=”Nature” style=”width:100%”>
<h3>My Work</h3>
<p>Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.</p>
</div>
</div>
<div>
<div>
<img src=”/w3images/mountains.jpg” alt=”Mountains” style=”width:100%”>
<h3>My Work</h3>
<p>Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.</p>
</div>
</div>
<!– END GRID –>
</div>

<div>
<img src=”/w3images/p3.jpg” alt=”Bear” style=”width:100%”>
<h3>Some Other Work</h3>
<p>Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.</p>
<p>Lorem ipsum dolor sit amet, tempor prodesset eos no. Temporibus necessitatibus sea ei, at tantas oporteat nam. Lorem ipsum dolor sit amet, tempor prodesset eos no.</p>
</div>

<!– END MAIN –>
</div>

</body>
</html>


Previous


Next

Scroll to Top