Search code examples
htmlcsselementpositioningoverlapping

Why are my elements overlapping when screen is minimized?


I'm new to coding and joined TOP. Part of the process of learning to code is making a Google Homepage. It's difficult but I've progressed somewhat. My current issue is when I minimize my screen, I notice the elements overlap. I've played around with the code and it still happens.

.googlelogo {
  display: flex;
  padding: 7% 10% 10%;
  margin: 10% 40% 30%;
  justify-content: center;
}

.about {
  display: flex;
  position: absolute;
  bottom: 17%;
  height: 80%;
  margin-left: 1%;
}

.store {
  display: flex;
  position: absolute;
  bottom: 17%;
  height: 80%;
  margin-left: 6%
}

.gmail {
  display: flex;
  position: absolute;
  bottom: 17%;
  height: 80%;
  margin-left: 82%
}

.images {
  display: flex;
  position: absolute;
  bottom: 17%;
  height: 80%;
 margin-left: 87%
_____________________________________________________________________________



<!DOCTYPE html>
<html lang="en" dir="ltr">

<head>
  <meta charset="utf-8">
  <link rel="stylesheet" type="text/css" href="styles.css">
  <title>Google Homepage</title>
</head>

<body>
<div class="googlelogo">
<img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" alt="Google Logo">
</div>



<a class="about" href="https://google.com/about">About</a>
<a class="store" href="https://google.com/store">Store</a>

<a class="gmail" href="https://gmail.com">Gmail</a>
<a class="images" href="https://google.com/images">Images</a>

<div class="searchbox">
  <input type="text" name="" value="">
  <button type="search" name="button">Search</button>
</div>

</body>

</html>

Issue I'm having


Solution

  • So the changes i made was wrap the anchor element tags in a div and wrapped those divs in a section tag, then gave the section tag a styling

    
    <!DOCTYPE html>
    <html lang="en" dir="ltr">
    
    <head>
      <meta charset="utf-8">
      <link rel="stylesheet" type="text/css" href="styles.css">
      <title>Google Homepage</title>
    </head>
    <style>
    .googlelogo {
      display: flex;
      padding: 7% 10% 10%;
      margin: 10% 40% 30%;
      justify-content: center;
    }
    
    .about {
      display: flex;
      position: absolute;
      bottom: 17%;
      height: 80%;
      margin-left: 1%;
    }
    
    .store {
      display: flex;
      position: absolute;
      bottom: 17%;
      height: 80%;
      margin-left: 6%
    }
    
    /* CHANGES MADE BELOW */
    .itemsOnTheTop{
      position: absolute;
      top:0;
      left:0;
      right:0;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    /* CHANGES MADE ABOVE */
    
    </style>
    <body>
    <div class="googlelogo">
    <img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" alt="Google Logo">
    </div>
    
    <!-- CHANGES MADE BELOW -->
    <section class="itemsOnTheTop">
      <div>
        <a class="" href="https://google.com/about">About</a>
        <a class="" href="https://google.com/store">Store</a>
      </div>
      
      
     
      <div>
        <a class="" href="https://gmail.com">Gmail</a>
        <a class="" href="https://google.com/images">Images</a>
      </div>
    </section>
    <!-- CHANGES MADE ABOVE -->
    
    
    
    <div class="searchbox">
      <input type="text" name="" value="">
      <button type="search" name="button">Search</button>
    </div>
    
    </body>
    
    </html>