Aligning multiple items within an element: a step-by-step guide
P粉946336138
P粉946336138 2024-04-01 23:21:40
0
2
445

I want to align different items within one element! I tried giving Element a flexbox and adjusting the items inside it myself! But it doesn't respond correctly! The list items should line up in a row, with the left link on the left and the right link on the right! The logo should be in the center!

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Flex Header</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <div class="header">
      <div class="left-links">
        <ul>
          <li><a href="#">ONE</a></li>
          <li><a href="#">TWO</a></li>
          <li><a href="#">THREE</a></li>
        </ul>
      </div>
      <div class="logo">LOGO</div>
      <div class="right-links">
        <ul>
          <li><a href="#">FOUR</a></li>
          <li><a href="#">FIVE</a></li>
          <li><a href="#">SIX</a></li>
        </ul>
      </div>
    </div>
  </body>
</html>
.header  {
  font-family: monospace;
  background: papayawhip;
  display: flex;
  align-items: center;
}

.logo {
  font-size: 48px;
  font-weight: 900;
  color: tomato;
  background: white;
  padding: 4px 32px;
}

ul {
  /* this removes the dots on the list items*/
  list-style-type: none;
}

a {
  font-size: 22px;
  background: white;
  padding: 8px;
  /* this removes the line under the links */
  text-decoration: none;
}

.header .left-links {
  display: flex;
  justify-content: flex-start; //I tried justify-items also, but it doesn't help!
  flex-direction: row;
}

.header .logo {
  display: flex;
  justify-content: center;
}

.header .right-links {
  display: flex;
  justify-content: flex-end;
  flex-direction: row;
}

//I also tried justify-items, but it didn't help!

P粉946336138
P粉946336138

reply all(2)
P粉276577460

I think if I understand correctly, ul is the parent. Assign display: flex to it since it is the parent.

P粉231079976

You need to apply Flex properties to ul

ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

To position the Items on the sides of the screen and the logo in the center, just set the header to justify-content: space- Between

Here is the complete list of changes you need to make

.header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template