improve UL - recover the dynamically setting position of preview box, but change the way

only 4 positions are allowed, the corners of browser