CSS - Tabbed Navigation Problem
Hi,
I really need help with something!... I'm currently designing a website, with a verticle tabbed navigation bar (using CSS & Javascript). I need it so that when the user hovers over a tab, the content related to that tab, displays until another tab is hovered over. At the moment, when ever you move the mouse into the content area for a certain tab, the content disappears and goes back to the default 'Welcome' layer underneath. But the content layers will have links in them, and this need to be 'active', as it were. Please take a look (I would post a link, but I'm new here... ) Code: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title></title> <script type="text/javascript"><!-- function showLayer(layerName, shadowLayerName) { if (document.getElementById) // Netscape 6 and IE 5+ { var targetElement = document.getElementById(layerName); var shadowElement = document.getElementById(shadowLayerName); targetElement.style.top = shadowElement.style.top; targetElement.style.visibility = 'visible'; } } function hideLayer(layerName) { if (document.getElementById) { var targetElement = document.getElementById(layerName); targetElement.style.visibility = 'hidden'; } } // --> </script> <style type="text/css"><!-- .buttonBar { width:125px; padding: 0; margin: 0; } .shadow { position: relative; visibility: hidden; } .button { background:width:125px; height: 100px; } .bg {display: block; width:125px; height: 100px;} .bg#about:hover {background:url(...) no-repeat;} .bg#destinations:hover {background:url(...) no-repeat;} .bg#cruiselines:hover {background:url(...) no-repeat;} .bg#specialoffers:hover {background:url(...) no-repeat;} .bg#about:focus {background:url(...) no-repeat;} .information { visibility: hidden; position: absolute; padding: 0; margin: 0; background-color: #891344; height: 400px; width: 575px;} body { text-align: center; min-width: 700px; } #content { margin:0 auto; width:700px; text-align: left; } --> </style> </head> <body> <div id="content"> <div id="header" style="width:700px; height: 110px; text-align: right;"><img src="..." width="171" height="100"></div> <div class="buttonBar"> <div style="height: 400px; width: 575px; position: absolute; margin-left:125px; border: #891344 1px solid; "> <img src="..."> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent non elit. Donec porttitor. Ut in ligula. Mauris tortor. Vivamus at odio. Curabitur rhoncus vulputate neque. Praesent elit sapien, pellentesque non, adipiscing vel, pulvinar consectetuer, ante. Morbi semper pede ut nisl. Nam porttitor fermentum nisl. Mauris viverra malesuada neque. Vivamus aliquam pharetra ligula. Suspendisse quis orci et velit pharetra bibendum. Aenean turpis. Donec vel ipsum. Vivamus pharetra. Aliquam ut turpis non erat sagittis tincidunt.</p> <p>Nam pellentesque egestas libero. Duis lobortis. Mauris egestas luctus urna. Nunc venenatis lectus in quam. Nulla gravida sem at massa. Quisque tortor. Donec id dui quis justo porta fermentum. In iaculis lacus non tellus. Morbi nunc enim, mattis eu, sollicitudin vel, placerat vel, magna. Pellentesque volutpat. Nam mi.</p> </div> <div style="position: absolute; width: 575px; height: 400px; margin-left: 125px; border: #891344 1px solid;"> <div id="shadowLayer" class="shadow"></div> <div class="infoArea"> </div> <div> <div id="HoverArea1Info" class="information" onmouseover="showLayer('HoverArea1Info', 'shadowLayer')" onmouseout="hideLayer('HoverArea1Info')" > <img src="..."><div style="float: right; width: 200px; height: 267px; background-color: gray;">PICTURES GO HERE</div> </div> <div id="HoverArea2Info" class="information" onmouseover="showLayer('HoverArea2Info', 'shadowLayer')" onmouseout="hideLayer('HoverArea2Info')"> <img src="..."><div style="float: right; width: 200px; height: 267px; background-color: gray;">PICTURES GO HERE</div> </div> <div id="HoverArea3Info" class="information" onmouseover="showLayer('HoverArea3Info', 'shadowLayer')" onmouseout="hideLayer('HoverArea3Info')"> <img src="..."><div style="float: right; width: 200px; height: 267px; background-color: gray;">PICTURES GO HERE</div> </div> <div id="HoverArea4Info" class="information" onmouseover="showLayer('HoverArea4Info', 'shadowLayer')" onmouseout="hideLayer('HoverArea4Info')"> <img src="..."><div style="float: right; width: 200px; height: 267px; background-color: gray;">PICTURES GO HERE</div> </div> </div> </div> <div style="position: absolute; height: 400px; width: 125px; background:url(...) no-repeat; border: #891344 1px solid;"> <div class="button" onmouseover="showLayer('HoverArea1Info', 'shadowLayer')" onmouseout="hideLayer('HoverArea1Info')" > <a href="about.phtml" class="bg" id="about"> </a></div> <div class="button" onmouseover="showLayer('HoverArea2Info', 'shadowLayer')" onmouseout="hideLayer('HoverArea2Info')" > <a href="destinations.phtml" class="bg" id="destinations"> </a></div> <div class="button" onmouseover="showLayer('HoverArea3Info', 'shadowLayer')" onmouseout="hideLayer('HoverArea3Info')" > <a href="cruise_lines.phtml" class="bg" id="cruiselines"> </a></div> <div class="button" onmouseover="showLayer('HoverArea4Info', 'shadowLayer')" onmouseout="hideLayer('HoverArea4Info')" > <a href="special_offers.phtml" class="bg" id="specialoffers"> </a></div> <div id="footer" style="width:700px; height: 20px; text-align: right;"> </div> </div> </div> </div> </body> </html> There must be some way to adapt the code already used, to do what I want. Where am I going wrong and what do I need to do?? Any help would be much appreciated! Many thanks, Britcanuck. Similar TutorialsThanks to Kravvitz I was able to get the first version of this system up and running, but I didn't like the plain tabs so I switched them out with tabs of my own and also a background image (instead of just a color) for the subnav bar. I am having trouble lining the tabs up though so they have 1 or 2 px spaces between them and the text is centered on them. (I'm trying to right align the tabs). Also in IE the on tab merges with the subnav bar as it should (so the gradiant looks seemless) but in Firefox it does not... The images are he http://yourthreshold.com/downloads/nav_background.gif http://yourthreshold.com/downloads/..._background.gif http://yourthreshold.com/downloads/..._background.gif The code: Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title></title> <style type="text/css"> /* passes tests in Firefox, IE5.5+/Win, Netscape 6+, and Opera 7+ IE5.0/Win just isn't handling the z-indexes correctly. */ /* Menu */ body { color: #333; background-color: #fff; padding: 20px 0 0 20px; margin:0; font-size: 90%; } body,a,* { font-family: helvetica, arial, geneva, lucida, sans-serif; } h1 { font-size:1.5em; font-weight:normal; margin:1em 0; } ul#topnav { margin:1px 0 10px; padding: 0 0 0 12px; list-style-type: none; border: 0 none; position: relative; left:-50px; width: 55em; } /* \*/ * html body { font-size: 85%; } * html ul#topnav { left: 0; } /* */ @media screen and (min-width: 0px){ ul#topnav { left: -33px; } } #topnav li { display: block; margin: 0; padding: 0; float:right; } #topnav a { display:block; color:#444; text-decoration:none; background: url(images/nav_background.gif) no-repeat; margin:0; text-align: right; padding: 0.2em 36px 0.2em 3.4em; position: relative; font-weight: bold; top: 0; font-size: .8em; } #topnav li a.a0 { left: -3px; z-index: 151; } #topnav li a.a1 { left: -2px; z-index: 152; } #topnav li a.a2 { left: -1px; z-index: 153; } #topnav li a.a3 { left: 0px; z-index: 154; } #topnav a:hover { background: url(images/nav_background.gif) no-repeat; } ul#topnav li a.here { background: url(images/navHERE_background.gif) no-repeat; z-index: 310; } /*ul#topnav li a.here { z-index: 210; background: url(images/lia.gif) no-repeat; /*border-right: 1px solid #777; padding: 0.2em 10px 0.2em 3.4em; margin: 0 2px 0 0; }*/ ul#subnav { list-style-type: none; position:absolute; z-index:201; margin: -1px 0 0; right: 0; padding: 1px 30px 3px 0px; background:url(images/subnav_background.gif) repeat-x; border-top:1px solid #fff; width: 720px; height: 22px; min-height: 1.2em; } /* \*/ * html ul#subnav { width: 748px; wid\th: 730px; } /* */ #subnav li { position:relative; z-index:102; display: block; margin: 0; padding: 0; float:right; } #subnav a,#subnav a:hover,ul#topnav li #subnav li a.here { color:#fff; display:block; text-decoration:none; margin:0; padding: 2px 10px 2px 12px; background-color: transparent; background-image: none; border: 0 none; } #subnav a:hover,ul#topnav li #subnav li a.here { color:#444; } /*Structure*/ * { margin: 0; padding: 0; } body { margin:0; padding:0; text-align: center; /* IE5/Win fix */ } #wrapper { width:750px; height:100%; margin:0 auto 0 auto; border:1px solid green; text-align: left; } #top { width:750px; height:60px; } #logohead { width:370px; height:60px; border:1px solid blue; float:left; } #toplinks { height:60px; width:365px; border: 1px solid orange; margin-left:380px; } #nav{ width:750px; height:50px; /*border:1px solid pink;*/ } #midbanner { width:auto; height:170px; border:1px solid red; } #bottomcontent { width:auto; height:auto; border:1px solid #990; /*yellow;*/ } /* \*/ * html #bottomcontent,* html #midbanner { width:750.5px; wid\th:760px; } /* */ </style> </head> <body> <div id="wrapper"> <div id="top"> <div id="logohead">Logo Here</div> <div id="toplinks" align="right">Login Link Here</div> </div> <div id="nav"> <ul id="topnav"> <li><a class="a3" href="../fresh/about.htm">About</a></li> <li><a class="a2" href="#">Tools</a></li> <li><a class="a1" href="#">Hosting</a></li> <li><a class="a0 here" href="#">Home</a> <ul id="subnav"> <li><a href="#"> </a></li> </ul> </li> </ul> </div> <div id="midbanner">Flash Banner Here</div> <div id="bottomcontent">Bottom Content Starts Here</div> </div> </body> </html> My first new thread here! Hoping for some quick review and suggestions - any input is much appreciated. I have a site in the *early* stages of development and I'm using the "sliding doors" technique for tabbed navigation. Not sure if I'm allowed to post links, so below are some code snippets and I've also attached a screenshot. The nav container (#nav) temporarily has a yellow background just as a clear visual cue and it is not positioned on the page yet - so forgive the ugliness! - but the code for the actual tab effects is complete, or so I thought. CSS: Code: /* horizontal main menu navigation */ #nav { float:left; width: 100%; background: yellow; /*temporary color just for visual cue */ } #nav ul { margin: 0; padding: 0 0 0 300px; list-style: none; } #nav ul li { float: left; margin: 0; padding: 0; font: bold 1em/2em Verdana, Arial, Helvetica, sans-serif; background: url(images/tab_right.gif) no-repeat top right; } #nav a { float: left; display: block; margin: 0 10px 0 0; padding: 5px 2px; color: #fff; text-decoration: none; background: #284d73 url(images/tab_left.gif) no-repeat top left; } HTML: Code: <div id="nav"> <ul> <li id="t-index"><a href="/" title="Gonzi's home page">HOME</a></li> <li id="t-about"><a href="#" title="About Us">ABOUT US</a></li> <li id="t-services"><a href="#" title="Our Services">OUR SERVICES</a></li> <li id="t-fleet"><a href="#" title="Our Fleet">FLEET</a></li> <li id="t-reserve"><a href="#" title="Reservations">RESERVATIONS</a></li> </ul> <!-- end #nav --> </div> Problem is two fold: 1. The 'a' elements are styled to 'display: block' to make the entire tab clickable, yet it isn't actually rendering this way, and I'm at a loss to explain why. Perhaps something obvious I'm just missing... 2. The 'tab_right.gif' background image (in 'li' elements) and the 'tab_left.gif' background image (in the 'a' elements) don't appear to be meeting up correctly, leaving an area with no image. Again, no idea why and I'm hoping a 2nd pair of eyes may find something I'm missing... If it would help to see the actual implementation, I can send a URL - just let me know how to get that to you (email?). Thanks for any suggestions! luispunchy Hi, Please can you take a look at my navigation bar on my site http://www.prohost.ie - on Internet Explorer it looks just about fine but in Opera the links go outsite of the <div> that theyre in. Please could anyone help with this? Also does anyone know how to get the content div center aligned in Opera like it is on IE. It has a text-align:center attribute set in its outer div but it only seems to work on IE. Anyone know a way round this? thanks Hi, I have problem with my code here and need someone to tell me what i am doing wrong here is the url www.epicindex.com/newmain.shtml on the left hand side there is a link called history and when i select Husker power you will see the page for husker power now when you move your mouse on the history link it shows the sub links but those sub links are hidden behind the pic can someone tell me what i am doing wrong here is the code for the page for husker power Code: <!-- #Include virtual="/webcontent/doctype.txt" --> <html> <head> <!-- #Include virtual="/tagsm.htm" --> <!-- #Include virtual="/webcontent/cssinclude.htm" --> <title>EPIC Performance</title> <SCRIPT LANGUAGE="JavaScript" SRC="/webcontent/nav.js"> </SCRIPT> <SCRIPT LANGUAGE="JavaScript" SRC="/webcontent/verticalnav.js"> </SCRIPT> </head> <body> <div class="wrapper"> <div class="lefthandnav"> <!-- #Include virtual="/webcontent/lefthandfile.htm" --> </div> <div class="righthandnav"> <!-- #Include virtual="/webcontent/righthand.htm" --> <h1>History of Talent Identification Index</h1> <p class="imageleft"><img src="/images/histhusker.jpg"></p> <p>Left :<b>Tom Osborne</b><br/> 255 wins as Nebraska Head Football coach<br/> Three National Championships</p> <p> Right:<b>Bob Devaney</b><br/> 101 wins as Nebraska HEad Football Coach<br/> Two National Championships </p> </div> </div> </body> </html> and here is the code for the css Code: body { margin: 0; padding: 0; font-family: arial; color: #000; } #wrapper { width: 900px; height:605px; } .lefthandnav { float: left; width: 145px; background-color:white; padding:0px 5px 0px 0px; } .righthandnav { float: left; width: 745px; background-color:white; padding: 0px 0px 0px 5px } .headerimgleft { height:75px; padding:0px 0px 5px 0px; } .clearing { clear:both; } .headingtitle { font-weight: bold; font-size: 15; text-align:center; } .topline { margin: 0; padding: 0; width:94.3%; margin:0px; color: #CC0000; background-color: #CC0000; height: 5px; } .bl {background: url(bl.gif) 0 100% no-repeat #e68200;} .br {background: url(br.gif) 100% 100% no-repeat} .tl {background: url(tl.gif) 0 0 no-repeat} .tr {background: url(tr.gif) 100% 0 no-repeat; text-align:center;padding:5px} .clear {font-size: 1px; height: 1px} dl, dt, dd, ul, li { margin: 0; padding: 0; list-style-type: none; } #menu { position: absolute; padding:5px 0px 0px 0px; } #menu dl { float: left; width: 8.7em; margin: 0 1px; } #menu dt { cursor: pointer; text-align: left; font-weight: bold; background: #CC0000; border: 1px solid gray; } #menu dd { border: 1px solid gray; } #menu li { text-align: left; background: #fff; } #menu li a, #menu dt a { color: #000; text-decoration: none; display: block; height: 100%; border: 0 none; } #menu li a:hover, #menu dt a:hover { background: #eee; } #site { position: absolute; top : 70px; left : 10px; color: #000; background-color: #ddd; padding: 5px; border: 1px solid gray; } a {text-decoration: none; color: black; color: #222; } .glossymenu, .glossymenu li ul{ list-style-type: none; margin: 0; padding: 0; width: 145px; /*WIDTH OF MAIN MENU ITEMS*/ background-color:#CC0000; text-align:center; } .glossymenu li{ position: relative; background-color:#CC0000; } .glossymenu li ul{ /*SUB MENU STYLE*/ position: absolute; width: 190px; /*WIDTH OF SUB MENU ITEMS*/ left: 0; top: 0; display: none; } .glossymenu li a{ color: white; display: block; width: auto; padding: 5px 0; padding-left: 10px; text-decoration: none; } .glossymenu .arrowdiv{ position: absolute; right: 2px; } .glossymenu li a:visited, .glossymenu li a:active{ color: white; } .glossymenu li a:hover{ } /* Holly Hack for IE \*/ * html .glossymenu li { float: left; height: 1%; } * html .glossymenu li a { height: 1%; } /* End */ .sponsordiv { background-color:#CC0000; } .sponsortexthead { text-decoration:underline; font-weight:bold; text-align:center; } .firstimage { float:left; } .secondfirstimage { float:left; } .thirdimage { float:left; } .mainpageholder { width:730px; padding:30px 10px 10px 10px; } h1 { color: #386cae; font-family: Arial, Helvetica, Geneva, sans-serif; font-size: 150%; font-weight: bold; margin: 20px 0 0 0; padding:25px 0px 0px 0px; } .imageleft { float: left; margin: 10px 20px 10px 0; position: relative; } .imageright { float: right; margin: 10px 0 10px 20px; position: relative; } .noting { background-color: #f7f5f6; color: #000; font-size: 80%; margin-top: 10px; padding: 5px 15px 0 5px; border: 1px groove #000; } .noting p { margin-top: 0; } i would appreciate any help i have spent a lot of time trying to figuring out what i am doing wrong thanks, todd Navigation buttons appear just fine with Firefox but they stand 2 pixels down of their original location when viewed with internet explorer. I assigned almost everything margin:0px but did not fix my problem. Click here to view. Red navigation bar.: http://www.refinethetaste.com/html/ I am trying to create the navigation from this site: http://www.cougarsoftware.com/content/partners/overview.aspx in CSS. However, I have 2 problems. 1) getting the second (or third) column to always align to the top of the first 2) keeping the second column open when there are few items in the list ex: try choosing Partners and then a second column option. This design is currently in Flash, and thus is not accessible, however, hovering over 'dead' space, area without links, the bottom of column 2 closes the column 2 nav Thanks for any help! HTML Code: <div id="access" role="navigation"> <div class="skip-link screen-reader-text"><a href="#content" title="Skip to content">Skip to content</a></div> <div class="menu-header"><ul id="menu-level1" class="menu"> <li id="menu-item-34" class="menu-item menu-item-type-post_type menu-item-34"> <a href="http://localhost/wordpress/about/">About</a> </li> <li id="menu-item-30" class="menu-item menu-item-type-post_type current-page-ancestor current-menu-ancestor current_page_ancestor menu-item-30"> <a href="http://localhost/wordpress/products/">Products</a> <ul class="sub-menu"> <li id="menu-item-29" class="menu-item menu-item-type-post_type current-page-ancestor current-menu-ancestor current-menu-parent current-page-parent current_page_parent current_page_ancestor menu-item-29"> <a href="http://localhost/wordpress/products/hand-tools/">Hand Tools</a> <ul class="sub-menu"> <li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-item page_item page-item-14 current_page_item menu-item-28"> <a href="http://localhost/wordpress/products/hand-tools/hammers/">Hammers</a> </li> </ul> </li> </ul> </li> <li id="menu-item-33" class="menu-item menu-item-type-post_type menu-item-33"> <a href="http://localhost/wordpress/contact/">Contact</a> <ul class="sub-menu"> <li id="menu-item-31" class="menu-item menu-item-type-post_type menu-item-31"> <a href="http://localhost/wordpress/contact/phone/">Phone</a> </li> <li id="menu-item-32" class="menu-item menu-item-type-post_type menu-item-32"> <a href="http://localhost/wordpress/contact/email/">Email</a> </li> </ul> </li> <li id="menu-item-27" class="menu-item menu-item-type-post_type menu-item-27"> <a href="http://localhost/wordpress/other/">Other</a> </li> </ul> </div> </div><!-- #access --> CSS Code: /* =Menu -------------------------------------------------------------- */ #access { background: #000; display: block; float: left; margin: 0 auto; /*width: 940px;*/ width: 192px; } #access .menu-header, div.menu { font-size: 13px; margin-left: 12px; /*width: 928px;*/ width: 180px; } #access .menu-header ul, div.menu ul { list-style: none; margin: 0; } #access .menu-header li, div.menu li { /*float: left;*/ position: relative; } #access a { color: #aaa; display: block; line-height: 38px; padding: 0 10px; text-decoration: none; } #access ul ul { box-shadow: 0px 3px 3px rgba(0,0,0,0.2); -moz-box-shadow: 0px 3px 3px rgba(0,0,0,0.2); -webkit-box-shadow: 0px 3px 3px rgba(0,0,0,0.2); display: none; position: absolute; top: 0px; left: 180px; float: left; width: 180px; z-index: 99999; } #access ul ul li { min-width: 180px; } #access ul ul ul { left: 100%; top: 0; } #access ul ul a { background: #333; line-height: 1em; padding: 10px; width: 160px; height: auto; } #access li:hover > a, #access ul ul :hover > a { background: #333; color: #fff; } #access ul li:hover > ul { display: block; } #access ul li.current_page_item > a, #access ul li.current-menu-ancestor > a, #access ul li.current-menu-item > a, #access ul li.current-menu-parent > a { color: #fff; } * html #access ul li.current_page_item a, * html #access ul li.current-menu-ancestor a, * html #access ul li.current-menu-item a, * html #access ul li.current-menu-parent a, * html #access ul li a:hover { color: #fff; } Hi, I can't make my active tab look 'active' in my navigation. I have the following css: Code: #tab_menu { width: 200px; margin-top: 10px; } #tab_menu li a { height: 24px; text-decoration: none; color: #484848; display: block; background: url(../images/tab_menu.gif); background-repeat: no-repeat; padding: 8px 0 0 10px; } #tab_menu li a:hover { color: #55880a; background: url(../images/tab_menu.gif) 0 -32px; background-repeat: no-repeat; padding: 8px 0 0 10px; } .active { color: #55880a; background: url(../images/tab_menu.gif) 0 -32px; background-repeat: no-repeat; padding: 8px 0 0 10px; } with the following html: Code: <div id="tab_menu"> <ul> <li><a class="active" href="link.html">Link 1</a></li> <li><a href="link2.html">Link 2</a></li> <li><a href="link3.html">Link 3</a></li> <li><a href="link4.html">Link 3</a></li> </ul> </div> Any help welcomed! M. i have set up my navigation menu like so: PHP Code: <style type='text/css'> div#nav { border:1px solid #000000; background-color:#F2F2F2; height:auto; } div#nav a { display:block; color:black; border:1px solid #FFFFFF; } div#nav a:hover { color:red; border:1px solid #000000; background-color:white; } </style> <div class='nav'> <a href='page1.html'>Page 1</a> <a href='page2.html'>Page 2</a> <a href='page3.html'>Page 3</a> <a href='page4.html'>Page 4</a> </div> the above works perfectly in Firefox, but doesnt in IE. IE seems to keep around the fact that the <a> tag only encapsulates the text: Page 1, so the rollover effect only works in IE when the user hovers over the text and not anywhere in the row. Does IE not understand the display:block? as i think this is whats causing it... Hi guys, I hope someone can help me resolve this issue with my navigation. It is fine in IE7, FF and Safari but in IE6 my nagivation looks like this: instead of this: Here is the code: Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <style type="text/css"> <!-- body,td,th { font-family: Georgia, Times New Roman, Times, serif; font-size: 12px; color: #333333; } body { margin-left: 0px; margin-top: 10px; margin-right: 0px; margin-bottom: 0px; } a:link { color: #CC0000; } a:visited { color: #CC0000; } a:hover { color: #3399CC; } a:active { color: #CC0000; } #container { width:850px; margin:0 auto 0 auto; } #header { width:850px; height:187px; background:url(images/bg_header.jpg) top left no-repeat; } #navcontainer { margin: 0px; padding: 0px; background:url(images/bg_nav.jpg) top left no-repeat; width:850px; height:40px; text-align:center; } #navlist { padding:0; margin:0; margin-left:8px; } #navcontainer ul li { list-style-type: none; padding: 0; margin: 0; display: block; float: left; background: url(images/orig_nav.jpg) repeat-x 20px; font: 13px verdana, sans-serif; text-align: center; } #navcontainer a { color: #FFF; font-weight:bold; font-size:13px; text-decoration: none; display: block; padding-right:12px; padding-left:12px; height:40px; line-height:40px; text-align:center; } #navcontainer li#active { background: url(images/orig_nav.jpg) repeat-x 20px; } #navcontainer a:hover { background: url(images/hover_nav.jpg) repeat-x 20px; } --> </style></head> <body> <div id="container"> <div id="header"></div> <div id="navcontainer"> <ul id="navlist"> <li id="active"><a href="#" id="current">Home</a></li> <li><a href="#">The Club</a></li> <li><a href="#">Membership</a></li> <li><a href="#">Forum</a></li> <li><a href="#">Sites</a></li> <li><a href="#">Flight Log</a></li> <li><a href="#"> Resources</a></li> <li><a href="#">Links</a></li> <li><a href="#">Gear Sales</a></li> <li><a href="#">Contact</a></li> </ul> </div> </div> </body> </html> Thanks for any help, Mike This time, problem is at the left navigation menu. There should be a 10px border on the left side of Denim. It appears fine with firefox but it does not appear at all with ie. Please view the attached image. Or view at : http://www.refinethetaste.com/html/...s&CATEGORYID=16 I'm working on the navigation the navigation for an image gallery I'm working on, but have run into some problems. It works fine in Firefox and Safari, but doesn't work in IE6, IE7, and Opera, and I can't for the life of me figure out why. The previous link and next link appears when they hover over the right and left side of the picture. I think it might be a problem with z-index, and the two link pictures getting stuck under the image in the image gallery, but I'm not sure. Any and all help is appreciated. This is the code for the gallery, minus the two navigation pictures and the image for the gallery. Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Example</title> <style type="text/css" media="screen"> #test { margin:0; padding:0; position:relative; top:0; left:0; width:800px; height:640px; background-color: #000; } #nav{ position:absolute; left:0; top:0; z-index:999; width:100%; height:100%; } #Next,#Prev{ position:absolute; display:block; width:50%; height:100%; outline:none; top:0; } #Next{right:0;} #Prev{left:0} #Next:hover{ background:transparent url(next.gif) no-repeat 100% 30%; } #Prev:hover{ background:transparent url(prev.gif) no-repeat 0% 30%; } #image{ display:block; } </style> </head> <body> <div id="test"> <div id="nav"> <a href="#" id="Prev"></a> <a href="#" id="Next"></a> </div> <img id="image" src="grass.jpg" alt="image" /> </div> </body> </html> Hi, I have a margin or spacing between the header image and the navigation bar. I'm unsure of how to remove it. I want the navigation to be directly underneath the header. This is the HTML Code: <div id="navbar"> <ul> <li><a href="index.html">Home</a></li> <li><a href="horses.html">Horses</a> <ul> <li><a href="stallions.html">Stallions</a></li> <li><a href="mares.html">Mares</a></li> <li><a href="geldings.html">Geldings</a></li> <li><a href="foals.html">Foals</a></li> </ul> </li> <li><a href="showteam.html">Show Team</a></li> <li><a href="showresults.html">Show Results</a></li> <li><a href="youths.html">Youths</a></li> <li><a href="sales.html">Sales</a></li> <li><a href="contactus.html">Contact Us</a></li> </ul> </div> This is the CSS Code: #header { background:#ddd; border-left:1px solid #FFF; border-right:1px solid #FFF; border-top:1px solid #FFF; } #navbar { font-family: Edwardian Script ITC, Verdana, Arial, sans-serif; font-size:36px; width:100%; margin-top:0px; padding:0px; height:63px; background-color:#FFF; } #navbar li { list-style: none; float: left; } #navbar li a { display: block; padding: 7px 8px; background-color: white; color: black; text-decoration: none; } #navbar li ul { display: none; width: 5em; /* Width to help Opera out */ background-color: white; } #navbar li:hover ul { display: block; position: absolute; margin: 0; padding: 0; } #navbar li:hover li { float: none; } #navbar li:hover li a { background-color: white; border-bottom: 1px solid #000; color: #000; } #navbar li li a:hover { background-color:#FFC; } Any help would be appreciated! It's really frustrating me. I've tried looking around other websites for help too. Kim Hi! Could you please help me to fix my menu in IE7. You can see the problem on my site. But actually I don't know how to add an url he The code is: padding:0; } #menu ul#layer1 li { background:transparent url(/site_media/images/left.png) no-repeat scroll left top; float:left; margin-left:6px; padding-bottom:6px; padding-left:6px; padding-top:4px; } #menu ul#layer1 li span { background:transparent url(/site_media/images/right.jpg) no-repeat scroll right top; margin-right:6px; padding-bottom:6px; padding-right:6px; padding-top:4px; } #menu li a { background-color:#BF1E2D; color:#FFFFFF; padding:4px 35px 6px; text-decoration:none; } #menu ul#layer1 li#current span { background:transparent url(/site_media/images/right-gray.png) no-repeat scroll right top; } #menu ul#layer1 li#current { background:transparent url(/site_media/images/left-gray.png) no-repeat scroll left top; } #menu ul#layer1 li#current a { background-color:#E3E3E3; color:#BF1E2D; } Hi All, I am building a site that has the following structure for the navigation; Code: <div id="navigation"> <ul id="navlist"> <li class="home"><a href="../index.asp" title="home"><span>home</span></a></li> <li class="aboutus"><a href="../aboutus.htm" title="aboout us"><span>about us</span></a></li> <li class="ourservices"><a href="../ourservices.htm" title="our services"><span>our services</span></a> <ul> <li class="internationalmail"><a href="ourservices_internationalmail.htm" title="international mail"><span>international mail</span></a></li> <li class="worldwidecourier"><a href="ourservices_worldwidecourier.htm" title="worldwide courier"><span>worldwide courier</span></a></li> <li class="worldwidefreight"><a href="ourservices_worldwidefreight.htm" title="worldwide freight"><span>worldwide freight</span></a></li> <li class="storage"><a href="ourservices_storage.htm" title="storage"><span>storage</span></a></li> <li class="publishingservices"><a href="ourservices_publishingservices.htm" title="publishing services"><span>publishing services</span></a></li> </ul> </li> <li class="requestquote"><a href="../requestquote.htm" title="request a quote"><span>request a quote</span></a></li> <li class="contactus"><a href="../contactus.htm" title="contact us"><span>contact us</span></a></li> </ul> </div> The main LI is horizontal, and the containing UL, LI is a vertical dropdown. The seperate CSS file does the image replacements on the <a> and hides the text within the <span>, usual stuff. The nav works great, with the graphic rollovers etc. The rollover, again, standard way of doing it, background: url(<FILE>) no-repeat top left; and the a:hover rollover is a background: bottom left;. Edit: Just noticed that I can't link to the full site that I have uploaded for preview. What I want to do, is when the user roll's over any of the items within the sub-navigation, it keeps the main Services navigation link rolled over also. The only way I could think of doing this, and relatively simply, would be to use JavaScript, but wanted to explore any other CSS ways of doing this. For example, is it possible to change a style of another class, from another? Your help would be much appreciated! I'm trying to use a jQuery script to create a tabbed slide-out on the right side of the screen. At this point, the slide-out plug-in is not an option. Here's the jQuery script: Code: $('#sideTabMain .button').toggle(function() { $('#sideTab').animate({right:'0px'}, {queue:false, duration: 500}); }, function() { $('#sideTab').animate({right:'-650px'}, {queue:false, duration: 500}); }); And the basic CSS for the div: Code: #sideTab { position: absolute; z-index: 1000; top: 50px; right: -650px } The issue is CSS-related. You can still see the slide-out div when you scroll over to the right (off the screen). How do I hide this? I tried putting the entire page in a CSS div with overflow: hidden but this completely removed the ability to scroll horizontally. Any ideas? Thanks for your help. Didn't know what to search for this--apologies if it exists somewhere on the board. Now, with links, I know you can supply a title="" attribute to them, to get a tooltip to appear on them if you leave the mouse hovering on them for a short period. What I am trying to do is somewhat similar. Basically, imagine that you have a column of links, and a large space to the right of them (the background of which is defined elsewhere, but links' descriptions still would show here). Some code demonstrating the type of effect I'm grasping for is below: Code: -- DTD removed for space -- <html> <head> <title>Test</title> <style type="text/css"> <!-- body{ padding: 0px; margin: 0px; } .navCol{ background: #00FFCC; width: 20.00%; } .dispInf{ position: absolute; top: 0px; left: 21.00%; width: 79.00%; background: #CCCCCC; height: 65%; } a:hover span{ display: block; position: absolute; top: 0px; left: 21.00%; width: 79.00%; } a span{ display: none; } --> </style> </head> <body> <div class="dispInf"></div> <div class="navCol"> <a href="/site1">Link 1<span> Description 1</span></a> <br /> <a href="/site2">Link 2<span> Description 2</span></a> </div> </body> </html> Now, my problem is this: This does not work in Internet Explorer, at all. Links still function; however, the text that should be appearing over in that right area does not. Could anyone please point me in the proper direction to resolve this, if such can be done? I'm only shooting for IE6 and Mozilla compatibility, though the more the merrier. Thank you for your time. I am very new to CSS, but I am trying to use it to make a tabbed rounded-corner centered menu bar for my webpage. I've gone through a number of iterations, and I feel like I'm close, but it's not quite right. The left rounded-corner image appears to be just slightly too high compared to the middle/right part of the tab. The css and html codes are below. Thank you for any help. Kate CSS CODE: #tabs8 { float:left; width:100%; background:#FCF1F6; border-bottom:4px solid #E276A7; overflow:hidden; position:relative; } #tabs8 ul { clear:left; float:left; list-style:none; margin:0; padding:0; position:relative; left:50%; text-align:center; } #tabs8 ul li { display:block; float:left; list-style:none; margin:0 0 0 1px; padding:0px 3px; position:relative; right:50%; } #tabs8 ul li a { display:block; margin:0 0 0 1px; padding:3px 0px; background:url("tableft8.gif") no-repeat left top; text-decoration:none; line-height:1.3em;} #tabs8 a span { background:url("tabright8.gif") no-repeat right top; padding:3px 10px; color:#333; line-height:1.3em;} #tabs8 ul li a:hover { background:#369; color:#fff; } #tabs8 ul li a.active, #tabs8 ul li a.active:hover { color:#fff; background:#000; font-weight:bold; }--> HTML CODE: <div id="tabs8"><ul> <li id="current"> <div align="center"><a href="index.html"><span>Home</span></a></div> </li> <li> <div align="center"><a href="cake-shaping.html"><span>Cake Shaping</span></a></div> </li> <li> <div align="center"><a href="decorations.html"><span>Edible Decorations</span></a></div> </li> <li> <div align="center"><a href="gallery.html"><span>Gallery</span></a></div> </li> <li> <div align="center"><a href="blog.html"><span>Blog</span></a></div> </li> <li> <div align="center"><a href="subscribe.html"><span>Subscribe</span></a></div> </li></ul></div> So I have a myspace, and I like things neat and compact. And I like filling out lots of long surveys that most likely no one will ever read, and posting them on my myspace. But when I do that, my page becomes very long and I don't like that. So my idea was something like this: There would be a series of links across the top that would correspond to the various surverys and/or other content that I deem necessary to share with the world. The many users who visit my page looking for more details about my life click on the link of their choice. The box below all the links shows that particular survey. They read it all, and of course want more, so they click the next link. And poof, a new survery shows up right where the other one was. Compact and efficient. I've seen sites use a slightly similar system before, often in the help/faq sections. You find the topic you need help with, click on it, and it pops up below it. However I'm pretty sure they used javascript, which isn't allowed on myspace. ("Security" or some other overrated matter). Therefore I would have to do it with CSS. I was thinking have each survey in a different table, all absolute positioned in the same place. Then when you click the link, either all the rest get visibility turned to not visible, (and that one turned to visible), or perhaps the z-index is changed. However I'm not sure you can do that in a link, especially without javascript. So I may need to find an alternative. Unfortunately, I'm not very good with CSS at all, and I'm also not very creative in problem solving. Does anyone have any ideas on how I could implement this system without javascript or using other pages? (I just get my one little myspace homepage, although I guess I could cheat and use blog pages too. But then all the other blog crap like comments would show up on it). I apologize if this has already been covered, I tried to look through the more recent posts for something similar and found nothing, and I wasn't really sure what to search for, since it isn't really something concrete I'm working with. I don't necessarily need code, mostly just ideas right now. Thanks in advance to anyone who helps, and if you don't know what I'm talking about/thought it was too long, tell me and I'll try to clear it up or shorten it up, respectably (and respectfully, as it were). PS. My myspace account, if you care and didn't already guess, is www.myspace.com/mynameismolotov. Althought it's basically empty right now. I'm using the Spry tabbed panels widget on a website. I would like to center align the horizontal tabs. The default setting is left align. And I'm able to right align it. Here is part of the css code: .TabbedPanels { margin: 0px; padding: 0px; float: left; clear: none; width: 100%; } .TabbedPanelsTabGroup { margin: 0px; padding: 0px; } .TabbedPanelsTab { position: relative; top: 1px; float: left; padding: 2px 6px 6px 6px; margin: 0px 0px 0px 0px; list-style: none; border-left: solid 1px #999; border-bottom: solid 1px #CCC; border-top: solid 1px #CCC; border-right: solid 1px #999; -moz-user-select: none; -khtml-user-select: none; cursor: pointer; background-image: url(../sprylight.png); color: #333333; I've tried changing the "padding" under the ".TabbedPanelsTabGroup" rule to "auto". This causes the tabs to kind of be centered, but not exactly. Also, one of the tabs breaks apart from the row and spills over to the next line. Any help would be very much appreciated. |