I'm trying to get "Mac and cheese is really yum!" underneath "The main content of the site".
#content {
padding: 0;
background: 0;
float: none;
width: auto;
}
.heading {
display: flex;
display: -webkit-flex;
flex-direction: column;
-webkit-flex-direction: column;
}
#content h1 {
text-align: left;
width: 100%;
float: none;
margin: 0 0 10px;
font: 2.538em/1.3em;
color: #393939;
}
#content .text {
order: 1;
}
<div id="content">
<div class="heading">
<h1>Mac and Cheese</h1>
<div class="text">
<p>Mac and cheese is really yum!</p>
</div>
</div>
<div class="main-content">
The main content of the site</div>
</div>
http://codepen.io/anon/pen/KMPydJ
Any help is appreciated -- thanks!
The CSS
order
property applies only to siblings.In your code, you are trying to re-position
.text
, which is a child of a flex item (.heading
), to appear after.main-content
.Well,
.heading
and.main-content
are siblings. But.text
is like a niece to.main-content
, so theorder
property won't work.Once
.text
an.main-content
are siblings you can achieve the ordering you want.In the revised code below, I've removed your
.heading
element. Now theh1
,.text
and.main-content
are all siblings.Learn more about the
order
property here: https://stackoverflow.com/a/36118012/3597276