Ich löse das in der Regel so:
PHP
<ul id="menu-top">
<li><a href="/home" <?php echo is_page('home') ? ' class="active"' : ''; ?>>Home</a></li>
<li><a href="/artikel" <?php echo is_page('artikel') || is_single() ? ' class="active"' : ''; ?>>Artikel</a></li>
<li><a href="/portfolio" <?php echo is_page('portfolio') ? ' class="active"' : ''; ?>>Portfolio</a></li>
<li><a href="/social" <?php echo is_page('social') ? ' class="active"' : ''; ?>>Social</a></li>
<li><a href="/playground" <?php echo is_page('playground') ? ' class="active"' : ''; ?>>Playground</a></li>
<li><a href="#footer">Impressum</a></li>
</ul>
Soweit ich das weiß, gibt es in CSS keinen nativen "Befehl" dafür.