Currently, I use CSS specificity to override plugin styles. I prefer this for editing the plugin as it makes less headaches when you update.
It would be nice if my style sheet loaded after the plugins, so that I only have to be as specific, not more. This would make my stylesheets much prettier.
As you suggest, the most elegant approach is when your CSS overrides are loaded after the CSS injected by the plugins. This is quite easy to achieve – you just need to make sure that your header.php
calls wp_head()
before it references your style sheet:
<head>
<!-- all the usual preamble stuff goes here -->
<?php wp_head(); ?>
<link rel="stylesheet" href="https://wordpress.stackexchange.com/questions/2680/<?php bloginfo("stylesheet_url'); ?>" type="text/css" />
</head>