本帖最后由 李维强-15级 于 2017-4-4 02:44 编辑  
 
写这个样式,是我逛天猫的时候,华为专区 https://www.vmall.com/huawei,看到的导航栏布局,然后F12看人家是怎么布局,怎么控制的,然后研究了一阵才写出这个来,主要是为了练习,因为导航哪里都可以用,吃透一个导航样式布局,管用很久。 
效果如下: 
 
 
 
下面是页面代码 
[HTML] syntaxhighlighter_viewsource syntaxhighlighter_copycode <div class="nav-main">
    <div class="layout">
        <nav class="naver">
            <ul id="naver-list">
                <li id="huawei1" class="" >
                    <a href="http://www.baidu.com"><span>联想专区</span></a>
                </li>
                <li id="huawei2" class="" >
                   <a href="http://www.baidu.com" ><span>华为专区111</span></a>
                </li>
                <li id="huawei3" class="" >
                    <a href="http://www.baidu.com"><span>小米专区</span></a>
                </li>
                <li id="huawei4" class="" >
                    <a href="http://www.baidu.com"><span>OPPO专区</span></a>
                </li>                
            </ul>
            <div class="list-category">
                @*这个里面填内容*@
            </div>
        </nav>
    </div>
</div>
<script type="text/javascript">
    $("#naver-list a").hover(function () {
        $(this).addClass("hover");
        var IdValue = $(this).parent().eq(0).attr("id");
        var listCatagWidth = $("div #" + IdValue).width();
        $("div .list-category").css("width", listCatagWidth);
        
        $("div .list-category").css("left", $(this).parent().eq(0).position().left);
        $("div .list-category").css("display", "block");
    }, function () {
        $(this).removeClass("hover");
        $("div .list-category").css("display", "none");
    });
</script> 
 
下面是CSS 
[CSS] syntaxhighlighter_viewsource syntaxhighlighter_copycode body {
    margin:0;
    font: 12px/1.5 Arial,Helvetica,sans-serif;
}
html {
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%
}
html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,hr,button,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	margin:0;
	padding:0
}
a{
    cursor: pointer;
}
.nav-main{
    background-color: #ca151e;
    min-width: 1200px;
    height: 40px;
    font-family: 微软雅黑;
    padding:0;
    margin: 0;
    width:100%;
}
.layout{
    position:relative;
    display: table;
    margin: 0 auto;
    width: 1200px;
    padding:0;
}
.layout::before, .layout::after {
    content: "";
    display: table;
}
.naver{
    position: absolute;
    top: 0;
    left: 240px;
    width: 960px;
    font-family: 微软雅黑;
}
.naver ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
.naver li{
    float:left;
}
.naver a{
    display: inline-block;
    *display: inline;
    *zoom: 1;
    height: 40px;
    line-height: 39px;
    font-size: 14px;
    color: #FFF;
    padding: 0 30px;
    white-space: nowrap;
    text-align: center;
    text-decoration: none;
}
.naver a span {
    cursor: pointer;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    position: relative;
    z-index: 410;
}
.naver li  .hover{
    background-color: #a21118;
} 
.layout .list-category{
    position: absolute;
    top:40px;
    left:240px;
    /*width:110px;  先要设置 才在没有hover的时候看得到效果*/
    height:250px;
    background-color:rgb(215, 197, 197);
    display:none;
} 
 
很多时候就是调试CSS,达到目的,CSS本身自带软动画 
 
jq里面的.position()和.offset()的区别 ,前者相对于夫级元素,后者相对于窗口 
搞清楚,margin,border,padding分别是元素的哪3层。。。 
 
 
 
 |