Jump to content

Highlight Current Page Plus!


PicnicTutorials

Recommended Posts

This original article can also be found here on my website. Below I've compiled the three easiest ways to highlight the current page that your on. All three are coded clean and very simple to implement into your own project. The method that you choose to use simply comes down to the project at hand and your preferred coding style. Each are pretty self explanatory, so I'll just let the code explain itself. That's usually the way I learn best anyway!

 

 

OPTION #1

 

Here is a working example.

 

This one is the easiest and most basic of the three options listed. If you have a small site (1 to 5 pages) and your running .html extensions, and/or you don't want or need to use PHP Includes, then this method is the one for you!

#nav {

width:150px;

list-style:none;

margin:150px auto;

}

#nav a {

color:black;

text-decoration:none;

}

#nav a:active, #nav a:focus, #nav a:hover {

color:red;

}

a#current {

color:red;

}

a#current:active, a#current:focus, a#current:hover {

color:blue;

}

 

 

OPTION #2

 

Here is a working example.

 

If you use, or want to use PHP Includes on your website, then the simple code shone above will not suffice. Therefore, you'll need to get a little more creative and use this method (Option #2) or the next method (Option #3) instead. This method shone here, is usually my code of choice for the job at hand!

#nav {

width:150px;

list-style:none;

margin:150px auto;

}

#nav a {

color:black;

text-decoration:none;

}

#nav a:active, #nav a:focus, #nav a:hover {

color:red;

}

#home a#homenav, #about a#aboutnav, #contact a#contactnav {

color:red;

}

#home a#homenav:hover, #about a#aboutnav:hover, #contact a#contactnav:hover {

color:blue; /* add :active and :focus styles here also */

}

 

 

OPTION #3

 

Here is a working example.

 

And the final way of going about highlighting the current page's navigation link is to use a bit of PHP. A little explanation: This bit here in bold <?php $pageName = "Home"; ?> (which tells the PHP code which page your currently on) can be placed just about anywhere on the page, that is, as long as it's sitting above the #nav using it. In this case, and partly for simplicity purposes, I just placed it inside the body tag as you can see. However, and unless proven otherwise, I think I like it there! And I'd like to thank Ben Falk and John Beatrice for helping me to get this last one working.

#nav {

width:150px;

list-style:none;

margin:150px auto;

}

#nav a {

color:black;

text-decoration:none;

}

#nav a:active, #nav a:focus, #nav a:hover {

color:red;

}

a#current {

color:red;

}

a#current:active, a#current:focus, a#current:hover {

color:blue;

}

Edited by Eric
Link to comment
Share on other sites

  • 3 weeks later...
  • 3 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...