Is it possible to achieve this with just one div (no background images/foreground images/layers)?
I do this by defining a new tag . This makes it really easy to add the desired fade out effect to any element you want using <fade/> at the end. Giving the fade element an absolute position with a gradient background works just as expected. As long as you remember to set the parent's position to relative .
So, you could leave your current design, and add a box-shadow like: box-shadow: 0px -2px 2px rgba(34,34,34,0.6); This should give you a 'blurry' top-edge.
To apply a fade-out effect on an element, you need to use either the animation or transition property in CSS. Using the transition property, CSS lets you specify the initial and final state, for instance, you can let the contents of a div transition from black to white.
Example on codepen: http://codepen.io/anon/pen/sbHAc/
Relevant CSS
ol { border : 1px #d8d8d8 dashed; position : relative; } ol:after { content : ""; position : absolute; z-index : 1; bottom : 0; left : 0; pointer-events : none; background-image : linear-gradient(to bottom, rgba(255,255,255, 0), rgba(255,255,255, 1) 90%); width : 100%; height : 4em; }
Resulting effect
if the browser supports the pointer-events
property (all major browsers except IE<=10
) then the text under the gradient will be also selectable/clickable.
I (personally) find that using a secondary element as an "overlap" works pretty well. I do this by defining a new tag
. This makes it really easy to add the desired fade out effect to any element you want using <fade/>
at the end.
div { position: relative; } fade { position: absolute; bottom: 0px; display: block; width: 100%; height: 50px; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.9) 100%); }
<div> text <br> text <br> text <fade/> </div>
Giving the fade
element an absolute
position with a gradient
background works just as expected. As long as you remember to set the parent's position to relative
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With