School Assignment? Project Due Tomorrow? Chat LIVE With A Programming Expert!

CSS DropDown Suckerfish Menu

#1 manzoor  Icon User is offline

  • D.I.C Regular
  • Icon

Reputation: 10
  • View blog
  • Posts: 468
  • Joined: 07-August 07


Dream Kudos: 75

Share |

CSS DropDown Suckerfish Menu

Posted 12 May 2009 - 12:03 PM

I want to create a dropdown suckerfish menu which is done. But there is problem modifying the menus. I want that the text color of sub menus to be changed to white. But its not working. So here is my code I know little big but please help me out. Thanks

Yay i suck at CSS :)


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>A very basic Superfish menu example</title>
		<meta http-equiv="content-type" content="text/html;charset=utf-8">
		<link rel="stylesheet" type="text/css" href="css/superfish.css" media="screen">
		<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
		<script type="text/javascript" src="js/hoverIntent.js"></script>
		<script type="text/javascript" src="js/superfish.js"></script>
		<script type="text/javascript">

		// initialise plugins
		jQuery(function(){
			$('ul.sf-menu').superfish();
		});

		</script>
<style type="text/css">
<!--
#top {
background:url(images/cat-bg.gif) repeat-x;
	width: 1000px; height: 45px;
	}

/*** ESSENTIAL STYLES ***/

.sf-menu, .sf-menu * {
	margin:			0;
	padding:		0;
	list-style:		none; 
}
.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 a {
	display:		block;
	position:		relative; 
}
.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
	left:			0;
	top:			2.5em; /* 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 {
	float:			left;
	margin-bottom:	1em;
}
.sf-menu a {
	border-left:	1px dotted #fff;border-right:1px dotted #999999;
	border-top:		1px solid #999999;
	padding: 		.75em 1em;
	text-decoration:none; font-family:Arial, Helvetica, sans-serif; font-size:15px; font-weight:bold;
}
.sf-menu a, .sf-menu a:visited  { /* visited pseudo selector so IE6 applies text colour*/
	color:			#000000;
}
.sf-menu li {
	background:url(images/cat-bg.gif);
}
.sf-menu li li {
	background:		#ADCFEA; 
}
.sf-menu li li li {
	background:		#ADCFEA;
}
.sf-menu li:hover, .sf-menu li.sfHover,
.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
	background:		#CFDEFF;
	color: white;
	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:			1.05em; /* IE6 only */
	width:			10px;
	height:			10px;
	text-indent: 	-999em;
	overflow:		hidden;
	background:		url('../images/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:			.8em;
	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('../images/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;
}
	
-->
</style>
</head>

<body>
<div id="top"><ul class="sf-menu">
			<li class="current">
				<a href="#a">menu item</a>
				<ul>
					<li>
						<a href="#aa">menu item that is quite long</a>					</li>
					<li class="current">
						<a href="#ab">menu item</a>
						<ul>
							<li class="current"><a href="#">menu item</a></li>
							<li><a href="#aba">menu item</a></li>
							<li><a href="#abb">menu item</a></li>
							<li><a href="#abc">menu item</a></li>
							<li><a href="#abd">menu item</a></li>
						</ul>
					</li>
				</ul>
			</li>
		</ul>
	</div>

</body>
</html>

Was This Post Helpful? 0
  • +
  • -


#2 crazyjugglerdrummer  Icon User is offline

  • GAME OVER. NERD WINS.
  • Icon

Reputation: 100
  • View blog
  • Posts: 690
  • Joined: 07-January 09


Dream Kudos: 450

Re: CSS DropDown Suckerfish Menu

Posted 12 May 2009 - 12:11 PM

to change the textcolor you just need:
.dropdown {
color: white or #FFFFFF;
}



The trick would be getting the right class of the stuff you want changed. I don't have experience with the suckerfish stuff, but it should'nt be too hard to apply the class in the source or with jquery. :D
Was This Post Helpful? 0
  • +
  • -

#3 JKemp  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 0
  • View blog
  • Posts: 15
  • Joined: 12-April 09


Dream Kudos: 0

Re: CSS DropDown Suckerfish Menu

Posted 13 May 2009 - 06:57 AM

Make sure your class elements are closed correctly. +1 on the above should work
Was This Post Helpful? 0
  • +
  • -

#4 gregwhitworth  Icon User is offline

  • Tired.
  • Icon

Reputation: 115
  • View blog
  • Posts: 1,282
  • Joined: 20-January 09


Dream Kudos: 50

Expert In: HTML, CSS, Web Design

Re: CSS DropDown Suckerfish Menu

Posted 13 May 2009 - 07:52 AM

Ok, well lets walk through this a little, shall we- the only color settings that you have are the following:

.sf-menu li:hover, .sf-menu li.sfHover,
.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
	background:		#CFDEFF;
	color: white;
	outline:		0;
}

.... AND ....

.sf-menu a, .sf-menu a:visited  { /* visited pseudo selector so IE6 applies text colour*/
	color:			#000000;
}




So per css (cascading style sheets) these both will affect all anchor tags and color them black, likewise all hover states will be colored white.

You could do one of two things. You could create a class and apply that to all of the <li> in your list; or you could create an id or class to apply to the ul

So if we do the following (given by : crazyjugglerdrummer)

.dropdown {
color: #FFFFFF;
}



This will color anything to white, the drawback to this is it will have to be applied to ALL anchor tags that you want white, a viable but tedious solution in your case.

So lets make the class refer to all anchors within the given ul:

.dropdown li a:link, .dropdown li a:visited {
	color: #FFFFFF;
}

.dropdown li a:hover {
	color: #000000;
}



Now your HTML:
 <li class="current">
						<a href="#ab">menu item</a>
						<ul class="dropdown">
							<li class="current"><a href="#">menu item</a></li>
							<li><a href="#aba">menu item</a></li>
							<li><a href="#abb">menu item</a></li>
							<li><a href="#abc">menu item</a></li>
							<li><a href="#abd">menu item</a></li>
						</ul>
					</li>



That should do it just fine. Let me know if you run into any problems. On a side note I don't think it is valid to put an un-ordered list within a list element, I could be wrong though.

Good luck,

Greg
Was This Post Helpful? 0
  • +
  • -



Fast Reply

  

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users