Table of Contents

Web Development Lesson 5 - Layout

Forced Positioning

Objective

This activity introduces some predefined HTML tags for structuring pages and looks at using 'position' to force your page into a particular layout.

Setup

Predefined Layout Tags

    <header>Header</header>
    <nav>Navigation</nav>
    <main>Main</main>
    <footer>Footer</footer>
header {
  background-color:indianred;
  border:darkred solid 2px;
}

nav {
  background-color: burlywood;
  border:yellow solid 2px;
}

main {
  background-color: lightgreen;
  border: darkgreen solid 2px;
}

footer {
  background-color: lightskyblue;
  border: darkblue solid 2px;
}

Relative Positioning

  position: relative;
  top: 50px;

Absolute Positioning

  position: absolute;
main {
  background-color: lightgreen;
  border: darkgreen solid 2px;
  position: absolute;
  top: 100px;
  bottom: 80px;
  left: 16%;
  right: 0px;
}
header {
  background-color:indianred;
  border:darkred solid 2px;
  height: 100px;
  position: absolute;
  left: 16%;
  right: 0px;
}

nav {
  background-color: burlywood;
  border:yellow solid 2px;
  position: absolute;
  top: 0px;
  bottom: 0px;
  width: 15%;
}

footer {
  background-color: lightskyblue;
  border: darkblue solid 2px;
  position: absolute;
  bottom: 0px;
  height: 80px;
  left: 16%;
  right: 0px;
}

Fixed Positioning

    <main>
        <div class="content">Section 1</div>
        <div class="content">Section 2</div>
        <div class="content">Section 3</div>
    </main>
.content {
  background-color:coral;
  border:orangered solid 2px;
  height: 400px;
}
nav {
  background-color: burlywood;
  border:yellow solid 2px;
  position: fixed;
  top: 0px;
  bottom: 0px;
  width: 15%;
}
main {
  background-color: lightgreen;
  border: darkgreen solid 2px;
  position: absolute;
  top: 100px;
  left: 16%;
  right: 0px;
  bottom: 80px;
}

Overflow

  overflow: scroll;

Next: Padding and Margins