Lets say you are implementing a color picker in wordpress options page, but you want to dynamically change colors or background for your header, menu or a link. Here is how to do it correctly and its unbelievably simple in wordpress. Just add a hook to wp_head and look at the code snippet below.
function my_custom_styles() {
$softlights_options = get_option('my-theme-options');
echo "<style>nav ul li a { color:". $menu-font-color ." !important }</style>";
echo '<style>nav {background:'.$menu-color .'}</style>';
echo '<style>#header {background:'.$header-color .'}</style>';
}
add_action('wp_head','my_custom_styles');
But if you want to add a separate stylesheet dynamically you might want to use wp_enqueue_style() function.
function my_custom_styles() {
$softlights_options = get_option('my-theme-options');
wp_enqueue_style( 'default', get_stylesheet_uri() ); // add default stylesheet style.css
wp_enqueue_style('custom', get_template_directory_uri().'/css/blue.css');
}
add_action('wp_head','my_custom_styles');

