This is perfectly normal CSS behavior. When you visit a page, its CSS gets loaded (if it has one). Try to use CSS selectors to differentiate different areas of your website/app. Or use the scoped css feature provided by vue-loader on your vue files – but note that it comes with a small price regarding CSS render speed.