4

Here is my HTML:

<header>
<div class="set">
<div class="set">
<div class="set">
<div class="set">
<div class="set">
<span>123</span>
</header>

How do I effectively use CSS Flex to make all the header > div elements effectively float: left; while making the header > span element effectively float: right; while keeping it on the same main axis?

John
  • 1
  • 13
  • 98
  • 177

2 Answers2

5

With margin-left:auto on the "right" span.

header {
  display: flex;
  align-items: center;
  background: grey;
}
.set {
  height: 75px;
  flex: 0 0 50px;
  background: blue;
  margin: 1em;
}
.right {
  margin-left: auto;
  background: pink;
  padding: 1em;
}
<header>
  <div class="set"></div>
  <div class="set"></div>
  <div class="set"></div>
  <div class="set"></div>
  <div class="set"></div>
  <span class="right">123</span>
</header>
Paulie_D
  • 107,962
  • 13
  • 142
  • 161
2
header
{
 display: flex;
}

header > div
{
 margin-right: auto;
}

header > span
{
 margin-left: auto;
}

https://jsfiddle.net/j5ffw1L7/

John
  • 1
  • 13
  • 98
  • 177