ie8 is not support opacity css prop, so we apply legacy styles and js for it