Donald Trump says he will impose 25% tariffs on all steel and aluminium imports into the US, including from Canada and Mexico.