use canvas instead of CSS for ranges