I am currently debuggig my site in IE9, and I am coming across a view quirks mainly to do with the navigation bar that runs across of the top the site,
When you look at http://mensclothingroom.factoryagency.co.uk the nav is fine, however if you then look at http://mensclothingroom.factoryagency.co.uk/category/socks the nav partially stacks, this is really confusing as they are running the same CSS and also ie specific stylesheets.
CSS
.navigation {
position:absolute;
top:69px;
left:5px;
padding:0px 0px 0px 4px;
border-bottom:1px solid #ccc;
}
.navigation .site_navigation {
padding:7px 0px 7px 0px;
clear:both;
}
.navigation .site_navigation ul {
height: 34px;
line-height: 34px;
}
.navigation .site_navigation li {
float: left;
height: 16px;
margin-right: 15px;
position: relative;
}
.navigation .site_navigation li > ul {
display:none;
width:165px;
position:absolute;
left:0px;
top:34px;
background:#fff;
border:1px solid #aaa;
z-index:999;
height:auto;
padding:2px 0px
}
.navigation .site_navigation li:hover > ul {
display:block;
box-shadow: 2px 2px 2px #999999;
}
.navigation .site_navigation li:hover > ul li > ul {
display:none;
}
.navigation .site_navigation li:hover > ul li,
.sidebar_navigation li {
line-height:11px;
clear:both;
display:block;
margin-bottom:2px;
width:140px;
}
.navigation .site_navigation li:hover > ul li {
height: auto !important;
line-height: normal;
}
.navigation .site_navigation li:hover > ul a,
.sidebar_navigation a {
font-size:10px;
padding:6px 0 6px 10px;
width:130px;
display:block;
}
.navigation .site_navigation li:hover > ul a {
width:155px;
}
.navigation .site_navigation li > ul a:hover,
.navigation .site_navigation li:hover > a,
.sidebar_navigation a:hover {
font-size:10px;
background:#999;
color:#fff;
}
.navigation .site_navigation li:hover > a {
font-size:12px;
}
.navigation .site_navigation li.sale {
float: right;
height: 25px;
line-height: 25px;
margin-right: 4px;
}
.navigation .site_navigation li.sale a {
background:#BE1E2D;
height:16px;
color:#fff;
padding:4px 18px;
}
.navigation .site_navigation li a.sale {
display:block;
height:25px;
}
.navigation .site_navigation li.current a.sale {
background:#9C1925;
}
.navigation .site_navigation li a,
.sidebar_navigation a {
color: #666666;
font-family: Georgia,Times,"Times New Roman",sans-serif;
font-size: 12px;
letter-spacing: 0.05em;
text-decoration: none;
text-transform: uppercase;
}
.navigation .site_navigation li a {
display: block;
padding: 0 10px;
}
.navigation .site_navigation li > ul a {
padding:0px 0px 0px 12px;
}
.navigation .site_navigation li a:hover,
.navigation .site_navigation li.current a {
background:#aaa;
color:#fff;
}
IE CSS
.navigation .site_navigation {
padding:10px 0px 0px 0px;
}
.navigation .site_navigation li {
list-style:none outside none;
margin-right:15px;
float:left;
height:auto;
}
Can anyone shed any light on the problem?
Looking at it in the W3C HTML Validator...
Your first link has no stray HTML tags.
Your second link has lots of stray/missing tags which could cause rendering problems in certain browsers.
Line 124, Column 9: Stray end tag ul.
Line 302, Column 11: No li element in scope but a li end tag seen.
Line 319, Column 7: End tag for body seen, but there were unclosed elements.
Line 31, Column 34: Unclosed element div.
Related
I just tried to remove the MagicLine that was built into my Wordpress theme by taking out the CSS code that I'll put below. It worked and the line is gone but now my navigation is all jumpy as you can see at the site: http://sheisbiddy.com/home/ Is there a better way to remove the line (I can't seem to find it in the piles of code that came with the theme) or anyway to get the menu back to normal? Thanks!
#navigation ul li#magic-line { position: absolute; left: 0; width: 100px; height: 4px; padding-left: 0; display: none; }
This is what is left for the navigation CSS:
#header {height: 100px; padding-top: 20px; margin: 0 auto; }
#logo { float:left; }
#logo { text-transform:capitalize; padding:35px 0; }
#logo img { max-width:100%; }
#navigation {float:right; margin-right:20px; }
#navigation ul { list-style:none; position:relative; }
#navigation ul li { float:left; padding-left:30px; font-size:12px; display:inline; position:relative; font-weight:bold; }
#navigation ul li a { color:#888; padding-bottom:10px; padding-top:35px; display:inline; }
#navigation ul li ul { position:absolute; border:1px solid #e9e9e9; display:none; left:15px; padding-bottom:15px; z-index:9999; }
#navigation ul li ul li { min-width:150px; margin-left:15px; margin-right:15px; padding:15px 0 10px 0; border-bottom:1px solid #f6f6f6; font-weight:normal; font-size:10px; }
#navigation ul li ul li:last-child { border:0; padding-bottom:0; }
#navigation ul li ul li a { border:0; display:inline; padding:0; }
#navigation li:hover ul { display:inline; }
#navigation select { display:none; -webkit-appearance: none; border-radius: 0; }
you have an errors in you CSS which causes the navigation to behave this way...
in style.dynamic.php file :
Lines : 94,96,104
#tagline { background-color:; }
#navigation ul li { padding-bottom:px; }
#navigation ul li a { padding-top:px; }
I would like to convert my drop down menu to a drop up menu. I have searched information on the internet, but it didn't help.
My css code:
#nav
{
margin: 0px;
padding: 0px;
position: absolute;
top: 18px;
display: block;
left: 313px;
}
#nav > li
{
list-style-type:none;
float:left;
display:block;
margin:0px 10px;
position:relative;
padding:10px;
width:100px;
}
#nav > li:hover ul
{
display:block;
}
#nav > li:hover
{
-moz-border-radius:10px;
-webkit-border-radius:10px;
}
#nav li ul
{
margin:0px;
padding:0px;
display:none;
}
#nav li ul li
{
list-style-type:none;
margin:10px 0 0 0;
}
#nav li ul li a
{
display:block;
padding:5px 10px;
color:#bdb49f;
text-decoration:none;
}
#nav li ul li:hover a
{
color:#b15815;
-moz-border-radius:5px;
-webkit-border-radius:5px;
}
#nav li span
{
cursor:pointer;
margin:0px 10px;
font-weight:bold;
}
The solution lies in making child ul absolutely positioned.
Here is a working example : http://jsfiddle.net/3NmRP/
The "margin-top" on "#nav" is just here for the sake of example, you can remove it.
#nav{
margin: 0px; padding: 0px; position: absolute; top: 18px; display: block; left: 313px;
}
#nav > li {
list-style-type:none;
float:left; display:block;
margin:0px 10px;
position:relative;
padding:10px;
width:100px;
}
#nav > li ul {
position:absolute;
bottom: 100%;
}
#nav li:hover > ul {
display:block;
}
#nav > li:hover{
-moz-border-radius:10px;
-webkit-border-radius:10px;
}
#nav li ul{
margin:0px;
padding:0px;
display:none;
}
#nav li ul li{
list-style-type:none;
margin:10px 0 0 0;
}
#nav li ul li a{
display:block;
padding:5px 10px;
color:#bdb49f;
text-decoration:none;
}
#nav li ul li:hover a {
color:#b15815;
-moz-border-radius:5px;
-webkit-border-radius:5px;
}
#nav li span{
cursor:pointer;
margin:0px 10px;
font-weight:bold;
}
#nav {
margin-top: 100px;
}
I'm using this accordion menu module in joomla 2.5 http://extensions.joomla.org/extensions/structure-a-navigation/menu-systems/accordion-menus/21961 , and the problem is that the submenu items have a bigger font than the menus in the starting level. I found in the template .css file where I can edit the size of the starting level menus, but not for the submenus. Here's a screenshot how it looks http://img7.imageshack.us/img7/1180/tikx.png
And here is the css code of this module:
.accordion-menu a{
text-decoration: none;
background: none;
font-family: Arial;
}
.accordion-menu a:hover,
.accordion-menu a:visited,
.accordion-menu a:active,
.accordion-menu a:focus{
background: none;
}
.accordion-menu a img {
vertical-align:middle;
border: 0 none;
height: auto;
max-width: 100%;
padding:0 5px 0 0;
}
.accordion-menu li{
cursor: pointer;
background:none !important;
}
.accordion-menu .opened{
border-bottom:none!important;
}
.accordion-menu li:last-child, .accordion-menu > li.last {
border-bottom: 1px solid #1a1a1a!important;
margin-bottom:-1px;
}
.accordion-menu > li > .item-wrapper{
height: 35px;
display:inline-block;
width:100%;
}
.accordion-menu > li > .item-wrapper a{
line-height: 35px;
font-size: 12px;
font-weight: bold;
}
.accordion-menu li .item-wrapper .menu-button{
width: 16px;
height: 16px;
margin: 9px 5px 0px 5px;
overflow: hidden;
}
.accordion-menu li .item-wrapper .menu-link{
width:81%;
}
.accordion-menu li .ul-wrapper{
display: none;
}
.accordion-menu li ul li .item-wrapper{
/* height: 30px; */
display:inline-block;
width:97%;
}
.accordion-menu li ul li .item-wrapper a{
line-height:35px;}
ul.accordion-menu li ul {
margin:0px;
padding:0px;
margin-bottom:-1px;
}
ul.accordion-menu li ul li .item-wrapper{
margin:0px;
padding-left:12px!important;
}
ul.accordion-menu li ul li li{
margin:0px;
padding-left:0px!important;
}
The line you want to change is this:
.accordion-menu li ul li .item-wrapper a {
line-height:35px;
font-size: 12px; /* Add this in */
}
Hope this helps
I'd like to have my navigation menu on my site span the width evenly. Here is an example of what I'm trying to accomplish, notice how the links are spaced evenly and stretch the entire width of the navigation bar.
I'm not exactly sure what code to use to accomplish this. I tried margin:auto but that didn't seem to work.
Here is the CSS that I have:
.mainNav{
height:30px;
padding-bottom:0px;
margin:0 !important;
position: relative;
border-top: 1px #d5d5d5 solid;
border-bottom: 1px #d5d5d5 solid;
}
.mainNav a {
font-size:16px;
-webkit-transition:none;
-moz-transition:none;
-o-transition:none;
transition:none;
position: relative;
}
.mainNav ul {
list-style-type: none;
list-style-image: none;
}
.mainNav li {
float:left;
margin: 0 auto;
position: relative;
list-style-type: none;
list-style-image: none;
}
.mainNav li a {
text-transform:uppercase;
padding:0 0 0 36px;
display:block;
padding-bottom:13px;
}
.mainNav li ul {
display: none;
margin:0 !important;
}
.mainNav li:hover > ul, .mainNav li.hover > ul {
display: block;
position: absolute;
top: 35px;
left: 0;
z-index: 1000;
width: 180px;
}
.mainNav li > ul {
height:auto;
width: auto;
background: #fff;
border:1px solid #efefef;
padding:0;
}
.mainNav li > ul li {
width:180px;
padding: 0;
position: relative;
height:35px;
border-bottom:1px solid #efefef;
}
.mainNav li > ul li:last-child{
border-bottom:none;
}
.mainNav li > ul li a {
text-transform:none;
height:22px;
padding: 5px 10px 0px 15px;
text-align: left;
font-size: 13px;
line-height:25px;
color:#333;
}
.mainNav li > ul li a:hover {
border:none;
}
.mainNav li ul li:hover > ul, .mainNav li ul li.hover > ul {
display: block;
position: absolute;
top:0;
left: 180px;
z-index: 0;
width: 180px;
}
If you turn off javascript and reload that wordpress theme that you want to replicate, you'll notice that the styling breaks.
That is because the margin's set on the list items to space them out evenly, is calculated using javascript and then applied.
You could write a javascript solution to style your list items or a quick fix would be to hard code the widths of the list items, e.g:
Change your current block of CSS:
.mainNav li a {
text-transform:uppercase;
padding:0 0 0 36px;
display:block;
padding-bottom:13px;
}
To the following:
.mainNav li a {
text-transform:uppercase;
text-align: center; /*added*/
width: 117px; /*added*/
padding:0; /*edited*/
display:block;
/*padding-bottom:13px;*/ /*removed*/
}
It looks fixed to me. Screenshot of your site in firefox, with applied styles seen in firebug:
I'm having problems trying to figure out why my drop down navigation is settling under where they are suppose to in IE 6 and IE 7. Any help you could give me would be life saving for me.
the css file for the drop down nav
#nav-bar { /*Container Div*/
width: 950px;
height: 45px;
background-image:url(images/nav-bar-background.jpg);
background-repeat: no-repeat;
margin: 7px 0 2px 0;
z-index:999;
position:relative;
padding:0;
}
/*First Level*/
#nav-bar ul {
padding: 10px;
text-align:center;
margin-top: 6px;
}
#nav-bar ul li {
font-family: Arial, Helvetica, sans-serif;
color: #585858;
font-size: 14px;
display: inline;
padding:0 9px 40px 9px;
text-align:center;
}
#nav-bar ul li a {
text-decoration: none;
color: #585858;
}
/*First Level HOVER*/
#nav-bar ul li a:hover {
background-image: url(nav.png);
background-repeat: repeat-x;
}
* html ul#nav-bar li a {
height:37px;
margin-top:-10px;
}
ul#nav-bar>li a:hover, ul#nav-bar>li:hover {
background-position:0px -20px;
height:37px;
text-decoration:none;
}
* html ul#nav-bar li a:hover, * html ul#nav-bar li:hover, * html ul#nav-bar li.hover {
background-position:0px -20px;
height:27px;
}
#nav-bar ul ul {
background-image:url(images/secondtierbg.gif);
display:none;
}
#nav-bar ul ul li {
width:100px;
}
#nav-bar ul ul li a {
line-height:26px;
}
#nav-bar ul li {
font-family: Arial, Helvetica, sans-serif;
color: #585858;
font-size: 14px;
display: inline;
padding: 10px 9px 20px 9px;
text-align:center;
}
#nav-bar ul li a {
text-decoration: none;
color: #585858;
}
#nav-bar li:hover ul, #nav-bar li.hover ul {
display:inline;
position:absolute;
left:0;
top:44px;
width:950px;
height:26px;
margin:0 auto;
padding: 0;
z-index:200;
}
* html #nav-bar li.hover ul {
height:37px;
}
/*
#nav-bar li:hover li {
list-style:none;
display:inline;
color:#fff;
margin:5px 0px 0 20px;
padding:0;
}
*/
#nav-bar li:hover li a, #nav-bar li.hover li a {
color:#fff;
font-size:12px;
font-family:Arial, Helvetica, sans-serif;
text-align:center;
margin-top: 10px;
padding: 5px;
text-decoration:none;
}
#nav-bar li:hover li a:hover {
background:none!important;
}
/* THIS IS FOR DROP DOWNS */
#nav-bar ul ul ul {
visibility: hidden;
background-image: none;
display: block;
margin: 0px;
padding: 0px;
list-style: none;
}
#nav-bar ul ul ul li {
display: block;
width:100px;
height: auto;
font-family: Arial, Helvetica, sans-serif;
color:#FFF;
font-size: 11px;
background-color:maroon;
border-style: solid;
border-color: white;
border-width: 1px 1px 0 1px;
padding: 5px 0;
float: none;
clear: both;
}
#nav-bar ul ul #firstrange li {
width:100px;
}
#nav-bar ul ul ul li:last-child {
border-bottom: 1px solid white;
/*background:transparent;*/
}
#nav-bar ul ul ul li a{
cursor:pointer;
line-height:14px;
}
#nav-bar ul ul li:hover ul {
visibility: visible;
left:0;
position:absolute;
margin-top:0;
top:31px;
z-index:220;
}
#nav-bar ul ul li:hover {
position:relative;
}
the link is:
http://www.paysonsecure.com/colonialwarsct/
notes/advice/question:
Think about how you can make this work in two levels.
I had difficulties trying to get the second level to show in IE(Something you might wanna work on too).
Consider having a vertical sub-menu. It's easier for the user to navigate.
Question. How much content is going to go in each year? If not much, maybe you can group years content.
I re-worked the css for the navigation I think its a good start - if you wish.
http://jsfiddle.net/EvRem/1/
Hope this made sense