There are several built-in CSS classes that come with the wp_nav_menu
.
In your case, you are looking for something like a current category class, which is not included. But we can easily add that to the CSS classes:
function wpse_134409_current_category_class($classes, $item) {
if (
is_single()
&& 'category' === $item->object
&& in_array($item->object_id, wp_get_post_categories($GLOBALS['post']->ID))
)
$classes[] = 'current-category';
return $classes;
} // function wpse_134409_current_category_class
add_filter('nav_menu_css_class', 'wpse_134409_current_category_class', 10, 2);
Please note: this code is untested!
Now you can target your menu item like so:
#menu-id li.current-category {
/* styles */
}