Keith

Flexbox Crash Course Demonstration

by Keith Rowles • 24/10/2023CSS

Closeup of air balloon in the sky

Summary

CSS Flexbox Crash Course from Traversy Media - hero section, nav bar and cards.

  • Desktop design
  • Mobile design

HTML

<nav class="navbar">
  <div class="container">
    <div class="logo">Flexbox</div>
    <ul class="nav">
      <li><a href="">Home</a></li>
      <li><a href="">About</a></li>
      <li><a href="">Contact</a></li>
    </ul>
  </div>
</nav>

<header class="header">
  <div class="container">
    <div>
      <h1>Flexbox Crash Course</h1>
      <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam,
        animi. Lorem ipsum dolor sit amet consectetur adipisicing elit.
        Quisquam, animi.
      </p>
    </div>
    <img src="grid.svg" alt="Grid" />
  </div>
</header>

<section class="boxes">
  <div class="container">
    <div class="box">
      <h2><i class="fas fa-arrows-alt-v"></i>Alignment and Space</h2>
      <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Fugiat,
        accusantium!
      </p>
    </div>

    <div class="box">
      <h2><i class="fas fa-arrows-alt-v"></i>Responsive Design</h2>
      <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Fugiat,
        accusantium!
      </p>
    </div>

    <div class="box">
      <h2><i class="fas fa-arrows-alt-v"></i>Tricky Positioning</h2>
      <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Fugiat,
        accusantium!
      </p>
    </div>
  </div>
</section>

CSS

Add the css.

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600;700&family=Poppins:wght@400;700&display=swap');

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  background: #a1c3ff;
}

img {
  max-width: 100%;
}

h1,
h2 {
  margin-bottom: 15px;
}

ul {
  list-style-type: none;
}

.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 30px;
}

.navbar {
  background: #3474e6;
  color: white;
  height: 60px;
}

.navbar .logo {
  font-size: x-large;
  font-weight: bold;
}

.navbar a {
  color: white;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
}

.navbar a:hover {
  color: lightblue;
}

.navbar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

.navbar ul {
  display: flex;
}

.navbar ul li {
  margin-left: 20px;
}

.header {
  background-color: #0151cc;
  color: white;
  min-height: 400px;
}

.header h1 {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.2;
}

.header img {
  max-width: 400px;
}

.header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.boxes .container {
  display: flex;
  justify-content: space-between;
}

.box {
  flex: 1;
  background: #0a51cc;
  color: white;
  border-radius: 10px;
  margin: 20px 10px;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.6);
  padding: 15px;
}
.box i {
  margin-right: 10px;
}

@media (max-width: 768px) {
  .header .container {
    flex-direction: column;
    padding-top: 20px;
    text-align: center;
  }

  .boxes .container {
    display: block;
    text-align: center;
  }
}

Tech and Tools

  • CSS Flexbox
  • HTML
  • Media Query
  • cPanel Hosting

Demo

Open demo on my web server. Clicking the link will open up a new window.

Link to Demo