How about using display: flex; justify-content: space-between;
?
That will result in same output without disturbing the html.
#outer {
text-align: center;
border-style: solid;
border-width: 1px;
border-color: #000000;
height: 50px;
display: flex;
justify-content: space-between;
}
#image {
width: 50px;
}
Content above div
<div id="outer">Text inside div<div id="image">IMG</div></div>
Content below div