Forums

css style superfish header | keep active page link different color (5 posts)

  1. burntpixel
    Member
    Posted 2 years ago #

    I have stared at this monitor and can not find where I'm goofing. This is a theme template that I'm altering. I have altered the css.style, superfish.css and header.

    What I'm wanting is what I've posted in the topic title. Say I'm on the home page, I want the link to change color when hover then stay that color once clicked.

    Any help greatly appreciated.

    style.css

    /* Navigation Highlights */
    .current-cat a, .current_page_item a {font-weight:bold; color:#d852bc;}
    .sf-menu a:hover{color:#d852bc;}

    superfish.css

    /*** ESSENTIAL STYLES ***/
    .sf-menu, .sf-menu * {
    	margin:			0;
    	padding:		0;
    	list-style:		none;
    	font-size:      1em;
    	text-align: left;
    }
    .sf-menu {
    	line-height:	1.0;
    }
    .sf-menu ul {
    	position:		absolute;
    	top:			-999em;
    	width:			10em; /* left offset of submenus need to match (see below) */
    }
    .sf-menu ul li {
    	width:			100%;
    }
    .sf-menu li:hover {
    	visibility:		inherit; /* fixes IE7 'sticky bug' */
    }
    .sf-menu li {
    	float:			left;
    	position:		relative;
    }
    .sf-menu li.right {float:right;}
    .sf-menu a {
    	display:		block;
    	position:		relative;
    }
    
    .sf-menu li:hover ul,
    .sf-menu li.sfHover ul {
    	left:			0;
    	top:			2.6em; /* match top ul list item height */
    	z-index:		99;
    }
    ul.sf-menu li:hover li ul,
    ul.sf-menu li.sfHover li ul {
    	top:			-999em;
    }
    ul.sf-menu li li:hover ul,
    ul.sf-menu li li.sfHover ul {
    	left:			10em; /* match ul width */
    	top:			0;
    }
    ul.sf-menu li li:hover li ul,
    ul.sf-menu li li.sfHover li ul {
    	top:			-999em;
    }
    ul.sf-menu li li li:hover ul,
    ul.sf-menu li li li.sfHover ul {
    	left:			10em; /* match ul width */
    	top:			0;
    }
    
    /*** DEMO SKIN ***/
    .sf-menu {
        margin-left:400px;
        margin-bottom:1em;
        font-size:11px;
    }
    .sf-menu a {
    	padding: 		9px;
    	text-decoration:none;
    	border:none;
    	font-size:12px;
    	font-weight:bold;
    }
    
    .sf-menu a, .sf-menu a:visited  { /* visited pseudo selector so IE6 applies text colour*/
    	color:			#333;
    }
    .sf-menu a:hover {border-bottom:none;}
    .sf-menu li {
    	margin-right:   2em;
    	border:none;
    
    }
    .sf-menu li.right {
    	margin-right:   0;
    }
    .sf-menu li li {
    	background:		#ddd5cd;
    }
    .sf-menu li li li {
    	background:		#ddd5cd;
    
    }
    .sf-menu li:hover, .sf-menu li.sfHover,
    .sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
    	background:		#ddd5cd;
    	outline:		0;
    }
    
    /*** arrows **/
    .sf-menu a.sf-with-ul {
    	padding-right: 	2.25em;
    	min-width:		1px; /* trigger IE7 hasLayout so spans position accurately */
    }
    .sf-sub-indicator {
    	position:		absolute;
    	display:		block;
    	right:			.75em;
    	top:			1em; /* IE6 only */
    	width:			10px;
    	height:			10px;
    	text-indent: 	-999em;
    	overflow:		hidden;
    	background:		url('img/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
    }
    a > .sf-sub-indicator {  /* give all except IE6 the correct values */
    	top:			.9em;
    	background-position: 0 -100px; /* use translucent arrow for modern browsers*/
    }
    /* apply hovers to modern browsers */
    a:focus > .sf-sub-indicator,
    a:hover > .sf-sub-indicator,
    a:active > .sf-sub-indicator,
    li:hover > a > .sf-sub-indicator,
    li.sfHover > a > .sf-sub-indicator {
    	background-position: -10px -100px; /* arrow hovers for modern browsers*/
    }
    
    /* point right for anchors in subs */
    .sf-menu ul .sf-sub-indicator { background-position:  -10px 0; }
    .sf-menu ul a > .sf-sub-indicator { background-position:  0 0; }
    /* apply hovers to modern browsers */
    .sf-menu ul a:focus > .sf-sub-indicator,
    .sf-menu ul a:hover > .sf-sub-indicator,
    .sf-menu ul a:active > .sf-sub-indicator,
    .sf-menu ul li:hover > a > .sf-sub-indicator,
    .sf-menu ul li.sfHover > a > .sf-sub-indicator {
    	background-position: -10px 0; /* arrow hovers for modern browsers*/
    }
    
    /*** shadows for all but IE6 ***/
    .sf-shadow ul {
    	background:	url('img/shadow.png') no-repeat bottom right;
    	padding: 0 8px 9px 0;
    	-moz-border-radius-bottomleft: 17px;
    	-moz-border-radius-topright: 17px;
    	-webkit-border-top-right-radius: 17px;
    	-webkit-border-bottom-left-radius: 17px;
    }
    .sf-shadow ul.sf-shadow-off {
    	background: transparent;
    }

    header.php

    <ul class="sf-menu">
        	<li <?php if(is_home()) echo 'class="current-cat"'; ?>><a href="<?php bloginfo('home'); ?>">Home</a></li>
            <li>
        		<a href="#">Portfolio</a>
        		<ul>
        			<?php wp_list_categories("exclude=$blog_ID&title_li="); ?>
        		</ul>
        	</li>
        	<?php wp_list_categories("include=$blog_ID&title_li="); ?>
        	<li>
        	    <a href="http://matthewcrace.com/about">About</a>
    
        	</li>
        	<li>
        	    <a href="http://matthewcrace.com/contact">Contact</a>
    
        	</li>
    
        </ul>
  2. esmi
    Theme Diva & Forum Moderator
    Posted 2 years ago #

    A link to your site might help...

  3. burntpixel
    Member
    Posted 2 years ago #

    figured the <a href links in the header.php code would be a dead give away.

  4. esmi
    Theme Diva & Forum Moderator
    Posted 2 years ago #

    Sorry - I don't tend to read large chunks of code & CSS as I find that they aren't of much use without being able to see the site.

    Have you tried styling on:

    .sf-menu .current_cat,.sf-menu .current_page_item,.sf-menu.current_page_parent,.sf-menu .current_page_ancestor{
    }
  5. burntpixel
    Member
    Posted 2 years ago #

    With the help of xiabolai and this thread I was able to achieve most of what I wanted. Problem now is xiabolai did not include a "blog" page with his and I'm wanting to include a blog. When I include the "blog" the "work" link stays hightlighted. I do not know .php and could use some help on getting this sorted.
    My Site

    header.phph

    <!-- Navigation -->
    <ul class="sf-menu">
    <li <?php
    	if (is_home())
    		{
    		echo " id=\"current\"";
    		}?>>
    		<a href="<?php bloginfo('url') ?>">Home</a>
    </li> 
    
    <!--<li class="cat-item">-->
    
    <li class="<?php if ( is_category() or is_single() or (function_exists('is_tag') and is_tag()) )
    { ?>current-cat-parent<?php } else { ?>cat_item<?php } ?>">
    <a href="#">Work</a>
    <ul class="children">
    <?php wp_list_categories("exclude=$blog_ID&title_li=");('orderby=name&title_li=');
    $this_category = get_category($cat);
    if (get_category_children($this_category->cat_ID) != "") {
    echo "<ul>";
    wp_list_categories('orderby=id&show_count=0&title_li=
    &use_desc_for_title=1&child_of='.$this_category->cat_ID);
    echo "</ul>";
    }
    ?>
    </ul>
    </li>  
    
    <li <?php
    		if (is_page('About'))
    		{
    		echo " id=\"current\"";
    		}?>>
    		<a href="<?php bloginfo('url') ?>/about">About</a>
    	</li> 
    
    <li <?php
    		if (is_page('Contact'))
    		{
    		echo " id=\"current\"";
    		}?>>
    		<a href="<?php bloginfo('url') ?>/contact">Contact</a>
    		</li>  
    
    <!--<?php wp_list_categories("include=$blog_ID&title_li="); ?>-->
    
    	</ul>

Topic Closed

This topic has been closed to new replies.

About this Topic