调整大小时,响应式Navbar不会更改位置

时间:2014-10-24 20:00:36

标签: css wordpress

尽管我的原始帐户神秘地消失了,但这是我对本网站上天才的问题:

很长一段时间以来,我一直在“尝试”从头开始构建一个响应Wordpress主题,以便我可以将所有想法保存在一个网站上。问题恰好出现在导航菜单中。我有一些CSS在600px宽度的移动平台上做正义。但是,在大于600px的屏幕上,我设置了导航栏,使其固定在网页上并在向上和向下滚动时保持其位置。当小于600像素的屏幕访问该网站时,我将其设置为导航栏从固定位置更改为相对位置。尽管我在样式表中改变了,但我似乎无法将导航栏从固定状态切换到相对状态。

问题图片: http://i.gyazo.com/9e8ac2c12d279bba4e5ff98418c9b0ed.png

正常在600px以上的页面上: http://i.gyazo.com/b54486fb441717e79ed9bd3b44ba2710.png

这是代码。正如您所看到的,当设置为600px以下的大小时,位置应该保持相对,但它不会:

    .main-navigation {
        position: fixed;
        float: left;
        width: 100%;
        display: block;
        clear: both;
        font-family: 'Open Sans', sans-serif;
        background: url('nav-bg.png') repeat center;
        color: #fff;
        -webkit-box-shadow: 0 3px 6px 0px black;
    	-moz-box-shadow: 0 3px 6px 0px black;
    	box-shadow: 0 3px 6px 0px black;
        z-index: 999999;
    }



    .main-navigation ul {
    	list-style: none;
    	margin: 0;
    	padding-left: 0;
    }



    .main-navigation li {
        float: left;
    }



    .main-navigation a {
        display: block;
        padding: 2.5em 3.5em;
        font-size: 14px;
        font-size: 1.4rem;
        text-decoration: none;
        line-height: 1.4em;
        color: white;
        color: hsl(0, 0%, 100%);
    }



    .main-navigation ul ul {
    	position: absolute;
        left: 0;
        z-index: 99999;
        display: none;
        float: left;
        padding: 0;
        background-image: url('nav-bg2.png');
    }



    .main-navigation ul ul ul {
    	left: 100%;
    	top: 0;
    }



    .main-navigation ul ul a {
    	width: 200px;
    }



    .main-navigation ul ul li {}



    .main-navigation li:hover > a {
        color: #fff;
        color: hsl(0, 0%, 100%);
        background: #313131;
        opacity: 0.4;
    }



    .main-navigation ul ul :hover > a {}



    .main-navigation ul ul a:hover {
        background: #313131;
        background: hsl(0, 0%, 19%);
    }


    .main-navigation ul li:hover > ul {
        display: block;
    }



    .main-navigation ul ul li:hover > ul {
    	display: block;
    }

    .main-navigation .current_page_item > a,
    .main-navigation .current-menu-item > a,
    .main-navigation .current_page_item > a:hover,
    .main-navigation .current-menu-item > a:hover {
       -moz-box-shadow:    inset 0 0 15px #000000;
       -webkit-box-shadow: inset 0 0 15px #000000;
       box-shadow:         inset 0 0 15px #000000;
       color: #fff;
    }

    .main-navigation .current_page_ancestor {
       -moz-box-shadow:    inset 0 0 15px #000000;
       -webkit-box-shadow: inset 0 0 15px #000000;
       box-shadow:         inset 0 0 15px #000000;
    }

    .main-navigation ul ul .current_page_parent,
    .main-navigation .current_page_parent .current_page_item > a {
       -moz-box-shadow:    inset 0 0 15px #000000;
       -webkit-box-shadow: inset 0 0 15px #000000;
       box-shadow:         inset 0 0 15px #000000;
    } 

    /* Menu Resize */

    .menu-toggle {
        display: none;
    }

    @media screen and (max-width: 600px) {

        .menu-toggle {
            display: block;
            height: 3.75em;
            padding: 0 1em;
            font-weight: normal;
            font-size: 14px;
            font-size: 1.4rem;
            text-decoration: none;
            line-height: 3.75em;
            color: white;
            background-image: url('nav-bg2.png');
            position: relative;
        }

    	.main-navigation.toggled .nav-menu {
            display: block;
            border-top: 1px solid;
            border-top-color: #fff;
            border-top-color: hsla(0, 0%, 100%, .5);

    	}



    	.main-navigation ul {
    		display: none;
            text-align: center;
            padding-left: 0;
            background-image: url('nav-bg2.png');


    	}
        
        
    	.main-navigation li { 
    		float: none; 
    	}

    	.main-navigation li a { 
    		padding: 1.3em 2em; 
    	}

    	.main-navigation li li a { 
    		padding-left: 4em; 
    	}

    	.main-navigation li li li a { 
    		padding-left: 6em; 
    	}

    	.main-navigation li:hover > a {
    		background: #313131;
    		background: hsl(0, 0%, 19%);
    	}
    	
    	.main-navigation ul ul,
    	.main-navigation ul ul ul {
    		position: relative;
    		top: inherit;
    		left: 0;
    		display: block;
    		float: none;
    		background-image: url('nav-bg2.png');
    	}
    	
    	.main-navigation ul ul a { width: 100%; }

    	.main-navigation ul a:hover,
    	.main-navigation ul ul a:hover {
    		background: #4d4d4d;
    		background: hsl(0, 0%, 30%);
    	}

    	.main-navigation .current_page_ancestor { background: inherit; }

    	.main-navigation ul ul .current_page_parent {
    		color: inherit;
    		background: inherit;
    	}

    	.main-navigation .current_page_item > a,
    	.main-navigation .current_page_item > a:hover,
    	.main-navigation .current_page_item li:hover,
    	.main-navigation .current_page_parent .current_page_item > a  {
    		-moz-box-shadow: inset 0 0 15px #000000;
            -webkit-box-shadow: inset 0 0 15px #000000;
            box-shadow: inset 0 0 15px #000000;  
    	}


    }

1 个答案:

答案 0 :(得分:1)

你永远不会将.main-navigation的位置设置回相对位置 - 你这样做.menu-toggle(我假设你是下拉按钮?)

尝试添加此内容:

@media screen and (max-width: 600px){
    .main-navigation {
        position: relative;
        float: none;
    }
}