2

I want to take element 3 to the right of the screen. This is an example from W3School:

.flex-container {
      display: flex;
      background-color: DodgerBlue;
    }
    
    .flex-container > div {
      background-color: #f1f1f1;
      margin: 10px;
      padding: 20px;
      font-size: 30px;
    }
<h1>Create a Flex Container</h1>

<div class="flex-container">
  <div>1</div>
  <div>2</div>
  <div>3</div>  
</div>

How can I do this when I'm using a flex display?

Youssouf Oumar
  • 29,373
  • 11
  • 46
  • 65
  • just use margin-left auto on the 3 child .flex-container > div:nth-of-type(3) { margin-left: auto; } – zeljkoDe Apr 01 '22 at 11:08

3 Answers3

1

This is somewhat a hack, but it does work JSFiddle

.flex-container {
  display: flex;
  background-color: DodgerBlue;
}

.flex-container > div {
  background-color: #f1f1f1;
  margin: 10px;
  padding: 20px;
  font-size: 30px;
}

.flex-container > div:nth-child(3) {
  margin-left:auto;
}

Example enter image description here

Dean Van Greunen
  • 5,060
  • 2
  • 14
  • 28
1

You could use the order propriety of flexbox, like below, as an example:

.flex-container {
  display: flex;
  background-color: DodgerBlue;
}

.flex-container > div {
  background-color: #f1f1f1;
  margin: 10px;
  padding: 20px;
  font-size: 30px;
}

.flex-container > div:nth-child(3) {
  order: -1;
}
<h1>Create a Flex Container</h1>

<div class="flex-container">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>
Youssouf Oumar
  • 29,373
  • 11
  • 46
  • 65
0

.flex-container {
      display: flex;
      background-color: DodgerBlue;
    }
    
    .flex-container > div {
      background-color: #f1f1f1;
      margin: 10px;
      padding: 20px;
      font-size: 30px;
    }

.flex-container > div:nth-child(3){
  margin-left:auto;
}
<h1>Create a Flex Container</h1>

<div class="flex-container">
  <div>1</div>
  <div>2</div>
  <div>3</div>  
</div>
Steve Walson
  • 450
  • 3
  • 7