0

How to make my main class be on a side of the aside class? Because the result is my main class is on the below of the aside class and I do not know how to figure it out

This is code:

aside {
  height: 100vh;
  width: 350px;
  justify-content: space-between;
  flex-direction: column;
}

aside ul {
  padding-top: 30%;
  list-style-type: none;
  text-align: center;
}

aside a {
  text-decoration: none;
  display: inline-block;
  font-size: 23px;
  color: $color5;
  margin: 40px;
  font-family: $font1;
  font-weight: lighter;
}

aside a:hover {
  color: $color1;
}
<aside>
  <ul>
    <li><a href="#PersonalInformation">Personal Information</a></li>
    <li class="second"><a href="#SecurityandLogin">Security and Login</a></li>
    <li><a href="Logout">Logout</a></li>
  </ul>

</aside>
<main>
  <h4>To keep you safe and secure</h4>
</main>
Youssouf Oumar
  • 29,373
  • 11
  • 46
  • 65
Chris
  • 67
  • 2
  • 10

3 Answers3

0

You can either try with float left, or you can wrap 'aside' and 'main' inside a div and use display flex. Let me know if you need more help.

Edin Osmic
  • 374
  • 5
  • 25
0

In such senarios, you would wanna use flexbox or css grid, like so:

.container {
  display: grid;
  grid-template-columns: 350px 1fr;
  gap: 1rem;
}
aside {
  min-height: 100vh;
  justify-content: space-between;
  flex-direction: column;
  border-right: 1px solid red;
}

aside ul {
  padding-top: 30%;
  list-style-type: none;
  text-align: center;
}
aside a {
  text-decoration: none;
  display: inline-block;
  font-size: 23px;
  color: $color5;
  margin: 40px;
  font-family: $font1;
  font-weight: lighter;
}

aside a:hover {
  color: $color1;
}

   
<div class="container">
  <aside>
    <ul>
      <li><a href="#PersonalInformation">Personal Information</a></li>
      <li class="second"><a href="#SecurityandLogin">Security and Login</a></li>
      <li><a href="Logout">Logout</a></li>
    </ul>

  </aside>
  <main>
    <h4>To keep you safe and secure</h4>
  </main>
</div>
Youssouf Oumar
  • 29,373
  • 11
  • 46
  • 65
0

You can do it using the following:

  1. Making both elements display: inline-block;
  2. Using the grid in the parent class.
  3. Making parent class display: flex; with flex-direction: row;

For example (Using inline-block):

aside,
main {
  display: inline-block;
  vertical-align: middle;
  border: 1px solid blue;
}

aside {
  height: 100vh;
  width: 350px;
  justify-content: space-between;
  flex-direction: column;
}

aside ul {
  padding-top: 30%;
  list-style-type: none;
  text-align: center;
}

aside a {
  text-decoration: none;
  display: inline-block;
  font-size: 23px;
  color: $color5;
  margin: 40px;
  font-family: $font1;
  font-weight: lighter;
}

aside a:hover {
  color: $color1;
}
<div>
  <aside>
    <ul>
      <li><a href="#PersonalInformation">Personal Information</a></li>
      <li class="second"><a href="#SecurityandLogin">Security and Login</a></li>
      <li><a href="Logout">Logout</a></li>
    </ul>

  </aside>
  <main>
    <h4>To keep you safe and secure</h4>
  </main>
</div>

For example (Using flex):

div {
  display: flex;
  flex-direction: row;
  align-items: center;
}
main, aside {
  border: 1px solid blue;
}

aside {
  height: 100vh;
  width: 350px;
  justify-content: space-between;
  flex-direction: column;
}

aside ul {
  padding-top: 30%;
  list-style-type: none;
  text-align: center;
}

aside a {
  text-decoration: none;
  display: inline-block;
  font-size: 23px;
  color: $color5;
  margin: 40px;
  font-family: $font1;
  font-weight: lighter;
}

aside a:hover {
  color: $color1;
}
<div>
  <aside>
    <ul>
      <li><a href="#PersonalInformation">Personal Information</a></li>
      <li class="second"><a href="#SecurityandLogin">Security and Login</a></li>
      <li><a href="Logout">Logout</a></li>
    </ul>

  </aside>
  <main>
    <h4>To keep you safe and secure</h4>
  </main>
</div>

For example (Using grid):

div {
  display: grid;
  grid-template-columns: 350px 1fr;
  gap: 1rem;
}

aside,
main {
  border: 1px solid blue;
}

aside {
  height: 100vh;
  width: 350px;
  justify-content: space-between;
  flex-direction: column;
}

aside ul {
  padding-top: 30%;
  list-style-type: none;
  text-align: center;
}

aside a {
  text-decoration: none;
  display: inline-block;
  font-size: 23px;
  color: $color5;
  margin: 40px;
  font-family: $font1;
  font-weight: lighter;
}

aside a:hover {
  color: $color1;
}
<div>
  <aside>
    <ul>
      <li><a href="#PersonalInformation">Personal Information</a></li>
      <li class="second"><a href="#SecurityandLogin">Security and Login</a></li>
      <li><a href="Logout">Logout</a></li>
    </ul>

  </aside>
  <main>
    <h4>To keep you safe and secure</h4>
  </main>
</div>
Ahmad Habib
  • 2,053
  • 1
  • 13
  • 28