Using pseudo-classes and absolute positioning, you can get the desired effect.
The answer below uses your existing HTML, so you don’t need to change anything and just change your CSS.
You can add a few more additions to the text to make it a little more spaced, if necessary, and the background should sort.
.header { position: relative; display: inline-block; margin: 30px; overflow: visible; } .header img.i { width: 80px; height: 80px; border-radius: 50%; position: absolute; bottom: 16px; left: -40px; z-index: 1; overflow: hidden; border: 3px solid black; } .header p.headingText { padding: 16px 32px 16px 80px; color: black; border: 3px solid black; }
<div class="header"> <img class="i" src="http://www.planwallpaper.com/static/images/colorful-triangles-background_yB0qTG6.jpg" /> <p class="headingText">Hello</p> </div>
Stewartside
source share