These solutions are more general and should be used if the desired shape is rounded by a square or rectangle.
Using the after
pseudo-element: http://jsfiddle.net/hj57k/1903/
#tail { border: 1000px solid #fff; position: absolute; float: left; height: 100px; width: 100px; background-color: rgba(0,0,0,.0); z-index: 100; top: 0px; left: 0px; pointer-events:none; } #tail:after { -webkit-box-shadow: inset 0 0 20px #000000; -moz-box-shadow: inset 0 0 20px #000000; box-shadow: inset 0 0 20px #000000; border: 10px solid white; border-radius: 20px; content: ''; display: block; height: 100%; left: -10px; position: relative; top: -10px; width: 100%; }
You need relative positioning to cover the upper left edge, which otherwise would still be visible. Beware of using the box model or browser inconsistencies in the size of the calculations, this works in webkit, perhaps this is not the case for IE.
source share