Part 3: Web Template

<!DOCTYPE html>

<html lang="en">

<head>

<title>CSS Template</title>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1">

<style>

* {

box-sizing: border-box;

}

body {

margin: 0;

font-family: Arial, Helvetica, sans-serif;

}

/* Style the side navigation */

.sidenav {

height: 100%;

width: 200px;

position: fixed;

z-index: 1;

top: 0;

left: 0;

background-color: #111;

overflow-x: hidden;

}

/* Side navigation links */

.sidenav a {

color: white;

padding: 16px;

text-decoration: none;

display: block;

}

/* Change color on hover */

.sidenav a:hover {

background-color: #ddd;

color: black;

}

/* Style the content */

.content {

margin-left: 200px;

padding-left: 20px;

}

</style>

</head>

<body>

<div class="sidenav">

<a href="#">Link</a>

<a href="#">Link</a>

<a href="#">Link</a>

</div>

<div class="content">

<h2>CSS Template</h2>

<p>A full-height, fixed sidenav and content.</p>

</div>

</body>

</html>


<!DOCTYPE html>

<html lang="en">

<head>

<title>CSS Template</title>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1">

<style>

* {

box-sizing: border-box;

}


body {

font-family: Arial, Helvetica, sans-serif;

}


/* Style the header */

.header {

background-color: #f1f1f1;

padding: 30px;

text-align: center;

font-size: 35px;

}


/* Create three equal columns that floats next to each other */

.column {

float: left;

width: 33.33%;

padding: 10px;

height: 300px; /* Should be removed. Only for demonstration */

}


/* Clear floats after the columns */

.row:after {

content: "";

display: table;

clear: both;

}


/* Style the footer */

.footer {

background-color: #f1f1f1;

padding: 10px;

text-align: center;

}


/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */

@media (max-width: 600px) {

.column {

width: 100%;

}

}

</style>

</head>

<body>


<h2>CSS Template using Float</h2>

<p>In this example, we have created a header, three equal columns and a footer. On smaller screens, the columns will stack on top of each other.</p>

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


<div class="header">

<h2>Header</h2>

</div>


<div class="row">

<div class="column" style="background-color:#aaa;">Column</div>

<div class="column" style="background-color:#bbb;">Column</div>

<div class="column" style="background-color:#ccc;">Column</div>

</div>


<div class="footer">

<p>Footer</p>

</div>


</body>

</html>

Using Flex

<!DOCTYPE html>

<html lang="en">

<head>

<title>CSS Template</title>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1">

<style>

* {

box-sizing: border-box;

}


body {

font-family: Arial, Helvetica, sans-serif;

}


/* Style the header */

.header {

background-color: #f1f1f1;

padding: 30px;

text-align: center;

font-size: 35px;

}


/* Create three equal columns that floats next to each other */

.column {

float: left;

width: 33.33%;

padding: 10px;

height: 300px; /* Should be removed. Only for demonstration */

}


/* Clear floats after the columns */

.row:after {

content: "";

display: table;

clear: both;

}


/* Style the footer */

.footer {

background-color: #f1f1f1;

padding: 10px;

text-align: center;

}


/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */

@media (max-width: 600px) {

.column {

width: 100%;

}

}

</style>

</head>

<body>


<h2>CSS Template using Float</h2>

<p>In this example, we have created a header, three equal columns and a footer. On smaller screens, the columns will stack on top of each other.</p>

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


<div class="header">

<h2>Header</h2>

</div>


<div class="row">

<div class="column" style="background-color:#aaa;">Column</div>

<div class="column" style="background-color:#bbb;">Column</div>

<div class="column" style="background-color:#ccc;">Column</div>

</div>


<div class="footer">

<p>Footer</p>

</div>


Using Grid

<!DOCTYPE html>

<html>

<head>

<style>

* {

box-sizing: border-box;

}


body {

font-family: Arial, Helvetica, sans-serif;

}


/* Style the header */

.header {

grid-area: header;

background-color: #f1f1f1;

padding: 30px;

text-align: center;

font-size: 35px;

}


/* The grid container */

.grid-container {

display: grid;

grid-template-areas:

'header header header header header header'

'left left middle middle right right'

'footer footer footer footer footer footer';

/* grid-column-gap: 10px; - if you want gap between the columns */

}


.left,

.middle,

.right {

padding: 10px;

height: 300px; /* Should be removed. Only for demonstration */

}


/* Style the left column */

.left {

grid-area: left;

}


/* Style the middle column */

.middle {

grid-area: middle;

}


/* Style the right column */

.right {

grid-area: right;

}


/* Style the footer */

.footer {

grid-area: footer;

background-color: #f1f1f1;

padding: 10px;

text-align: center;

}


/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */

@media (max-width: 600px) {

.grid-container {

grid-template-areas:

'header header header header header header'

'left left left left left left'

'middle middle middle middle middle middle'

'right right right right right right'

'footer footer footer footer footer footer';

}

}

</style>

</head>

<body>


<h2>CSS Template using Grid</h2>

<p>In this example, we have created a header, three equal columns and a footer. On smaller screens, the columns will stack on top of each other.</p>

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

<p><strong>Note:</strong> The Grid Layout Module is not supported in Internet Explorer or Edge 15 eand earlier versions.</p>


<div class="grid-container">

<div class="header">

<h2>Header</h2>

</div>

<div class="left" style="background-color:#aaa;">Column</div>

<div class="middle" style="background-color:#bbb;">Column</div>

<div class="right" style="background-color:#ccc;">Column</div>

<div class="footer">

<p>Footer</p>

</div>

</div>


</body>

</html>