I'm trying to get a ribbon-like banner effect for a header:
My markup is this:
<header>
<div id="logo">
<img src="">
</div>
</header>
I was thinking I could use pseudo :before
and :after
elements on the <img>
, creating extra white space above and below the image to fake the extended `div:
#logo-wrap img:after {
content: '';
display: inline-block;
position: absolute;
left: 10px;
top: 10px;
width: 100px;
height: 100px;
background-color: #000;
}
And then another :before
and :after
pseudo elements for the "shadow-fold".
My problem is: if I end up doing it like this, I'll have to insert another div
between #logo
and <img>
in order to add another pair of :before
and :after
pseudo elements for the bottom "shadow-fold" and I think I'm having problems using the pseudo elements on the <img>
element (nothing is appearing).
Can you shed some light and guide me on the right direction, pls? Perhaps, there is a simple way to just "shrink" the <header>
?
EDIT
So, :before
and :after
can't be used with <img>
. Thank you for the info :)
What I would like to know is if there is another way to achieve what I desire instead of wrap-wrap-wrap? :P
i.e: is there a way to make the #logo
be bigger than <header>
despite being its child and its height being the same (since the <header>
has always the same height as the <img>
)?
Thanks