There's a(!) way of going about this, but whether or not it's good is a different matter entirely. The CSS-only restriction makes things a fair bit iffier than necessary. Regardless, you could try the following:
- Declare
position: absolute;
on the video player's <iframe>, either inline or with a new ID/class in your <style> - the latter's preferable;
- give it a set width and height so that it doesn't break / overflow out of <main> (I went with 452px and 300px respectively, which seems to work best on desktop);
- align it to sit above the blog entries with
top: 220px;
or thereabouts;
- and finally, declare an extra hefty
padding-top
on main .right
so that the player and the blog entries don't overlap.
All said and done, the final product should look like this:
<iframe id="vPlayer" width="452" height="300" (etc. etc.)>
<style>
#vPlayer {
position: absolute;
top: 220px;
}
main .right { padding-top: 310px; }
</style>
The upside; if viewed "properly" (i.e. in a browser window that's aboooout 800 pixels wide), this'll be pretty much spot-on with what you're looking for. The downside; anything lower than that, and it's exceptionally prone to breaking. Beneath 480px, it'll just start to hover menacingly way above its intended resting position, which (by extension) almost certainly means it's gonna be borked on mobile. Does the pro outweigh the cons? That's up to you. It might be a safer bet to just convert the video into a .gif and then use that on a .blog-preview:before
declaration (like the banner thing you've got on main:before
), if only because that method's not relying on position, but /shrug.