一个网页菜单的CSS代码分析

190 篇文章 6 订阅

一个绿色网页菜单,效果如下,网上可下载到该资源;



下面研究其css代码;这是一个比较复杂的菜单;可学到很多东西;

/* menu::base */
div#menu {
    height: 46px;
    padding-left: 10px;
    background: url(images/left.png) no-repeat;
    _background-image: url(images/left.gif);
    width:auto;
}

div#menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
    float: left;
}
div#menu ul.menu {
    padding-right: 10px;
    background: url(images/right.png) no-repeat right 0;
    _background-image: url(images/right.gif);
}

div#menu li {
    position: relative;
    margin: 0;
    padding: 0 0 0 0;
    display: block;
    float: left;
    z-index: 9;
    width: auto;
}
div#menu ul ul li {
    z-index: 9;
}
div#menu li div {
    list-style: none;
    float: left;
    position: absolute;
    z-index: 11;
    top: 36px;
    left: 0;
    visibility: hidden;
    width: 187px;
    padding: 0 0 11px 7px;
    background: url(images/submenu-bottom.png) no-repeat 7px bottom;
    _background-image: url(images/submenu-bottom.gif);
    margin: 0px 0 0 -4px;
}
div#menu li:hover>div {
    visibility: visible;
}

div#menu a {
    position: relative;
    z-index: 10;
    height: 41px;
    display: block;
    float: left;
    line-height: 41px;
    text-decoration: none;
    margin-top: 1px;
    white-space: nowrap;
    width: auto;
    padding-right: 5px;
    text-align: center;
}
div#menu span {
    display: block;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: 95% 0;
    text-align: center;
}

/* menu::level1 */
div#menu a {
    padding: 0 30px 0 0;
    line-height: 40px;
    height: 46px;
    margin-right: 5px;
    _margin-right: 1px;
    background: none;
}
div#menu span {
    margin-top: 2px;
    padding-left: 30px;
    color: #fff;
    font: bold 11px Trebuchet MS,Arial,san-serif;
    background: none;
    line-height: 40px;
}
div#menu a:hover,
div#menu a.over {
    background:  url(images/selected-right-sub.png)  no-repeat right -1px;
    _background-image: url(images/selected-right-sub.gif);
}
div#menu a:hover span,
div#menu a.over span {
    background: url(images/selected-left-sub.png) no-repeat 0 -3px;
    _background-image: url(images/selected-left-sub.gif);
}
div#menu li.current a,
div#menu ul.menu>li:hover>a {
    background: url(images/selected-right-sub.png) no-repeat right -1px;
    _background-image: url(images/selected-right-sub.gif);
}
div#menu li.current a span,
div#menu ul.menu>li:hover>a span {
    background: url(images/selected-left-sub.png) no-repeat 0 -3px;
    _background-image: url(images/selected-left-sub.gif);
}
div#menu ul.menu>li:hover>a span {
    color: #3d4e29;
}
div#menu li {  }
div#menu li.last { background: none; }

div#menu li.current a,
div#menu li.current a span,
div#menu.js-active a:hover,
div#menu.js-active a:hover span,
div#menu.js-active a,
div#menu.js-active span {
    background:none;
}
div#menu.js-active ul.menu>li:hover>a,
div#menu.js-active ul.menu>li:hover>a span {
    background:none;
}
div#menu li.current a.over {
    background: url(images/selected-right-sub.png)  no-repeat right -1px;
    _background-image: url(images/selected-right-sub.gif);
}
div#menu li.current a.over span {
    background: url(images/selected-left-sub.png) no-repeat 0 -3px;
    _background-image: url(images/selected-left-sub.gif);
}
div#menu a.over span {
    color: #3d4e29;
}

/* menu::level2 */
div#menu ul ul li {
    background: none;
    padding: 0;
}
div#menu ul ul {
    padding-top: 10px;
}
div#menu ul ul a {
    padding: 0;
    height: auto;
    float: none;
    display: block;
    line-height: 26px;
    font-size: 11px;
    color: #d8ebc5;
    z-index: -1;
    padding-left: 5px;
    white-space: normal;
    width: 160px;
    margin: 0 5px;
    text-transform: none;
}
    
div#menu ul ul a span {
    padding: 0 15px;
    line-height: 26px;
    font-size: 11px;
}
div#menu li.current ul a,
div#menu li.current ul a span {
    background:none;
}
div#menu ul ul a:hover {
    background: url(images/submenu-selected-bottom.png) no-repeat 5px bottom;
}
div#menu ul ul a:hover span {
    background: url(images/submenu-selected-top.png) no-repeat 0 0;
}
div#menu ul ul a.parent {
    background: url(images/submenu-pointer-bottom.gif) no-repeat 5px bottom;
}
div#menu ul ul a.parent span {
    background: url(images/submenu-pointer-top.png) no-repeat 0 0;
}
div#menu ul ul a.parent:hover {
    background: url(images/submenu-pointer-selected-bottom.png) no-repeat 5px bottom;
}
div#menu ul ul a.parent:hover span {
    background: url(images/submenu-selected-top.png) no-repeat 0 0;
}
div#menu ul ul span {
    margin-top: 0;
    text-align: left;
}
div#menu ul ul li.last { background: none; }
div#menu ul ul li {
    width: 100%;
}

/* menu::level3 */
div#menu ul ul div {
    width: 180px;
    padding: 15px 0px 8px 0px;
    margin: -44px 0 0 169px !important;
    background: url(images/subsubmenu-top.png) no-repeat 0px 0;
    _background-image: url(images/subsubmenu-top.gif);
}
*+html div#menu ul ul div { height:10px }
*+html div#menu.ie7 ul ul div { height:auto }
div#menu ul ul ul {
    padding: 0 4px 5px 1px;
    background: url(images/submenu-bottom.png) no-repeat 0px bottom;
    _background-image: url(images/submenu-bottom.gif);
}
div#menu ul ul div li {
    position:relative;
    top:-5px;
}

/* lava lamp */
div#menu li.back {
    background: url(images/lavalamp-left.png) no-repeat 0 0;
    _background-image: url(images/lavalamp-left.gif);
    width: 10px;
    height: 46px;
    z-index: 8;
    position: absolute;
    padding: 0;
    margin: 0;
}

div#menu li.back .left {
    padding:0;
    width:auto;
    background: url(images/lavalamp-right.png) no-repeat right 0;
    _background-image: url(images/lavalamp-right.gif);
    height: 46px;
    margin: 0 5px 0 10px;
    _margin-right: 2px;
    float: none;
    position: relative;
    top: 0;
    left: 0;
    visibility: visible;
}

定义id为menu的div的样式
定义id为menu的div中的ul的样式
定义id为menu的div中的,使用“menu”为css类的ul的样式
定义id为menu的div中的li的样式
定义id为menu的div中的ul中的ul中的li的样式
定义id为menu的div中的li中的div的样式
定义id为menu的div中的li当鼠标悬停时li下的div的样式
定义id为menu的div中的a的样式
定义id为menu的div中的span的样式
定义id为menu的div中的a的样式
定义id为menu的div中的span的样式
定义id为menu的div中的a当鼠标悬停时的样式, a下的over css类的样式
定义id为menu的div中的a当鼠标悬停时 中的span的样式,a下的over css类中的span的样式
定义id为menu的div中的li下的current css类中的a的样式,
定义id为menu的div中的ul下的menu css类下的li,li当鼠标悬停时下的a的样式
定义id为menu的div中的li下的current css类 中的a中的span的样式
定义id为menu的div中的ul下的menu css类下的li当鼠标悬停时下的a中的span的样式


定义id为menu的div中的ul下的menu css类下的li当鼠标悬停时下的a中的span的样式
定义id为menu的div中的li的样式
定义id为menu的div中的li下的last css类的样式


定义id为menu的div中的li下的current css类中的a,
定义id为menu的div中的li下的current css类中的a中的span,
定义id为menu的div下的js-active css类中的a当鼠标悬停时,
定义id为menu的div下的js-active css类中的a当鼠标悬停时中的span,
定义id为menu的div下的js-active css类中的a,
定义id为menu的div下的js-active css类中的a中的span的样式;


定义id为menu的div下的js-active css类中的ul下li鼠标悬停时下的a,
定义id为menu的div下的js-active css类中的ul下li鼠标悬停时下的a中的span的样式


定义id为menu的div下的li下的current css类中的a下的over类的样式
定义id为menu的div下的li下的current css类中的a下的over类的中的span的样式
定义id为menu的div中的a下的over类中的span的样式


/* menu::level2 */
定义id为menu的div中的ul中的ul中的li的样式
定义id为menu的div中的ul中的ul的样式
定义id为menu的div中的ul中的ul的a的样式
定义id为menu的div中的ul中的ul的a中的span的样式
定义id为menu的div中的li下的current类中的ul中的a,
定义id为menu的div中的li下的current类中的ul中的a中的span的样式
...
...
定义a中的parent类
...
...
...
...
ul中的ul中的li下的last类


/* menu::level3 */


/* lava lamp */
定义id为menu的div中的li中的back类
定义id为menu的div中的li下的back类 中的left类


使用了甚多的css选择器和伪类等;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值