CSS工作(或不工作?)奇怪

时间:2013-02-23 09:19:08

标签: jquery html css internet-explorer

因此我的网站存在一些问题,尤其是CSS。我对网页设计还很陌生,所以这些东西不断涌现。一般来说,很容易弄清楚自己,但这真让我难过。

基本上正在发生的是由于某种原因无序列表中的最后两个元素向下移动(下图)。根本想不出来。我能找到的唯一解决方案是添加一个类并自己手动移动它。

同样,IE 9.0也会出现问题,但前提是我启用了javascript(我需要为子菜单项做)。

任何有关正在发生的事情(以及手指交叉都很容易解决)的任何见解都会令人惊叹。

enter image description here

<div id="main_menu">
            <div id="main_menu_container">
                <ul>
                    <li><a href=# id="home_button">Home</a></li>
                    <li><a href=# id="products_button">Products</a></li>
                    <li class="baq"><a href=# id="baq_button">Book a Quote</a></li>
                    <li><a href=#>Gallery</a></li>
                    <li class="misplace"><a href=#>About Us</a></li>
                    <li class="misplace"><a href=#>Contact Us</a></li>
                </ul>
            </div>
        </div> <!--END OF MAIN MENU -->

CSS ......

div#main_menu{
    height:45px;
    position:relative;
    z-index:11;

    background: rgb(246,246,246);
    background: -moz-linear-gradient(top,  rgba(246,246,246,1) 0%, rgba(225,225,225,1) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(246,246,246,1)), color-stop(100%,rgba(225,225,225,1)));
    background: -webkit-linear-gradient(top,  rgba(246,246,246,1) 0%,rgba(225,225,225,1) 100%);
    background: -o-linear-gradient(top,  rgba(246,246,246,1) 0%,rgba(225,225,225,1) 100%);
    background: -ms-linear-gradient(top,  rgba(246,246,246,1) 0%,rgba(225,225,225,1) 100%);
    background: linear-gradient(to bottom,  rgba(246,246,246,1) 0%,rgba(225,225,225,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f6f6', endColorstr='#e1e1e1',GradientType=0 );

    -webkit-box-shadow: inset 0px -1px 0px 1px rgba(255, 255, 255, .2);
    box-shadow: inset 0px -1px 0px 1px rgba(255, 255, 255, .2);

}

div#shadow_1{
    position:relative;
    background:url('images/shadow_grad.png') repeat-x;
    height:6px;
    z-index:20;
}

div#main_menu div#main_menu_container{
    width:920px;
    height:45px;
    margin:0 auto;
}

#main_menu #main_menu_container ul li{
    position:relative;
    float:left;
    list-style:none;
    width:150px;
    height:45px;
    line-height:45px;
    text-align: center;
    margin:0px 0px;
    padding:0px 0px;
    z-index:21;

    font-family: 'Roboto Condensed', sans-serif;
    font-size:16px;
    font-weight: 700;
    color:#747474;
    text-transform: uppercase;
}

#main_menu #main_menu_container ul li a{
    display:block; 
    color:#747474;

    transition:all .05s linear;
    -o-transition:all .05s linear;
    -moz-transition:all .05s linear;
    -webkit-transition:all .05s linear;
}

#main_menu #main_menu_container ul li.baq a{background:#3d9dff; color:white;}

#main_menu #main_menu_container ul li a:hover{
    /*background:#ffab00;*/
    background:#ffab00; /*#3d9dff*/
    color:white;
}


li.misplace{position:relative; top:-18px;}

jQUERY Code(实际上并不知道jquery,所以我已经有其他人这样做了。这意味着任何建议可能会超出我的想法:/):

$(document).ready(function(){
    $("#products_button").mouseenter(function(){
        $(".products").addClass("active_products");
        $(".products_container").addClass("active_products_container");
    });
});

$(document).ready(function(){
    $(".products").mouseenter(function(){
        $(".products").addClass("active_products");
        $(".products_container").addClass("active_products_container");
    });
});

$(document).ready(function(){
    $(".products").mouseleave(function(){
        $(".products").removeClass("active_products");
        $(".products_container").removeClass("active_products_container");
    });
});

$(document).ready(function(){
    $("#home_button, #baq_button, #header").mouseenter(function(){
        $(".products").removeClass("active_products");
        $(".products_container").removeClass("active_products_container");
    });
});

3 个答案:

答案 0 :(得分:0)

http://jsfiddle.net/KmrZ3/1/没有.misplace

的情况下,它正常工作

所以也许你在其他地方没有显示css(或javascript)

答案 1 :(得分:0)

@ user1090635删除课程li.misplace{} 然后像这样更改css For Centered Menu 演示:http://jsfiddle.net/bsPrabu/EtmSW/6/embedded/result/

 div#main_menu div#main_menu_container {
    width:100%;
    text-align:center;
    height:45px;
    margin:0 auto;
}

#main_menu #main_menu_container ul
{
     display:inline-block;
    *display:inline;/* IE*/
    *zoom:1;/* IE*/
    overflow:hidden;
    text-align:left;
}

答案 2 :(得分:0)

请测试以下CSS,我已经清理了一点并添加了所需的样式: (我改变了字体大小,请设置为您喜欢的尺寸)

div#main_menu{
    position:relative;
    z-index:11;

    background: rgb(246,246,246);
    background: -moz-linear-gradient(top,  rgba(246,246,246,1) 0%, rgba(225,225,225,1) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(246,246,246,1)), color-stop(100%,rgba(225,225,225,1)));
    background: -webkit-linear-gradient(top,  rgba(246,246,246,1) 0%,rgba(225,225,225,1) 100%);
    background: -o-linear-gradient(top,  rgba(246,246,246,1) 0%,rgba(225,225,225,1) 100%);
    background: -ms-linear-gradient(top,  rgba(246,246,246,1) 0%,rgba(225,225,225,1) 100%);
    background: linear-gradient(to bottom,  rgba(246,246,246,1) 0%,rgba(225,225,225,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f6f6', endColorstr='#e1e1e1',GradientType=0 );

    -webkit-box-shadow: inset 0px -1px 0px 1px rgba(255, 255, 255, .2);
    box-shadow: inset 0px -1px 0px 1px rgba(255, 255, 255, .2);

}

div#main_menu div#main_menu_container{
    width: 1000px;
    margin: auto;
}

#main_menu #main_menu_container ul li{
    display: inline-block;

    list-style:none;

    margin:0px;
    padding:0px;
}

#main_menu #main_menu_container ul li a{
    display:block;

    text-align: center;
    color:#747474;
    font-family: 'Roboto Condensed', sans-serif;
    font-size:12px;
    font-weight: bold;
    text-transform: uppercase;

    width: 150px;
    line-height: 4em;


    transition:all .05s linear;
    -o-transition:all .05s linear;
    -moz-transition:all .05s linear;
    -webkit-transition:all .05s linear;
}

#main_menu #main_menu_container ul li.baq a{background:#3d9dff; color:white;}

#main_menu #main_menu_container ul li a:hover{
    background:#ffab00;
    color:white;
}