The best practice method of enqueueing admin stylesheets is to hook into your appearance page’s specific hook, using the admin_print_styles-{hook}, where {hook} = {admin_page}-{menu_slug}.
I’ll assume:
- This is a Theme
- You are properly using an appearance page, via
add_appearance_page() - Your
$menu_slugiswpse48416-settings
The hook, then, is: admin_print_styles-appearance_page_wpse48416-settings:
<?php
function wpse48416_admin_style(){
wp_register_style( 'wpse48416_admin_css', get_template_directory_uri() . '/css/admin.css' );
wp_enqueue_style( 'wpse48416_admin_css' );
}
add_action( 'admin_print_styles-appearance_page_wpse48416-settings', 'wpse48416_admin_style' );
?>
For a Plugin, you simply need to use the correct {page} string, depending on which admin menu function you use to register your settings page, e.g. settings_page for add_settings_page().