商城分类导航纯Css与Js版的简单Demo

一、Html布局
<ul class="topmenu">
        <div class="toptitle">
            全部商品分类
        </div>
        <li><a href="#">图书、音像、数字商品</a><span></span>
            //加入span标签是为了遮挡两个menu之间的边框
            <div class="submenu">
                <div class="leftdiv">
                    <dl>
                        <dt><a href="#">电子书</a></dt>
                        <dd>
                            <a href="#">免费</a> <a href="#">小说</a> <a href="#">励志与成功</a> <a href="#">婚恋/两性</a>
                            <a href="#">文学</a> <a href="#">经管</a> <a href="#">畅读VIP</a>
                        </dd>
                    </dl>
                    <dl>
                        <dt><a href="#">数字音乐</a></dt>
                        <dd>
                            <a href="#">通俗流行</a> <a href="#">古典音乐</a> <a href="#">摇滚说唱</a> <a href="#">爵士蓝调</a>
                            <a href="#">乡村民谣</a> <a href="#">有声读物</a>
                        </dd>
                    </dl>
                    <dl>
                        <dt><a href="#">音像</a></dt>
                        <dd>
                            <a href="#">音乐</a> <a href="#">影视</a> <a href="#">教育音像</a> <a href="#">游戏</a>
                        </dd>
                    </dl>
                    <dl>
                        <dt><a href="#">文艺</a></dt>
                        <dd>
                            <a href="#">小说</a> <a href="#">文学</a> <a href="#">青春文学</a> <a href="#">传记</a> <a
                                href="#">艺术</a>
                        </dd>
                    </dl>
                    <dl>
                        <dt><a href="#">人文社科</a></dt>
                        <dd>
                            <a href="#">历史</a> <a href="#">心理学</a> <a href="#">政治/军事</a> <a href="#">国学/古籍</a>
                            <a href="#">哲学/宗教</a> <a href="#">社会科学</a>
                        </dd>
                    </dl>
                    <dl>
                        <dt><a href="#">经管励志</a></dt>
                        <dd>
                            <a href="#">经济</a> <a href="#">金融与投资</a> <a href="#">管理</a> <a href="#">励志与成功</a>
                        </dd>
                    </dl>
                    <dl class="fore7">
                        <dt><a href="#">生活</a></dt>
                        <dd>
                            <a href="#">家教与育儿</a> <a href="#">旅游/地图</a> <a href="#">烹饪/美食</a> <a href="#">时尚/美妆</a>
                            <a href="#">家居</a> <a href="#">婚恋与两性</a> <a href="#">娱乐/休闲</a> <a href="#">健身与保健</a>
                            <a href="#">动漫/幽默</a> <a href="#">体育/运动</a>
                        </dd>
                    </dl>
                    <dl>
                        <dt><a href="#">科技</a></dt>
                        <dd>
                            <a href="#">科普</a> <a href="#">IT</a> <a href="#">建筑</a> <a href="#">医学</a> <a href="#">
                                工业技术</a> <a href="#">电子/通信</a> <a href="#">农林</a> <a href="#">科学与自然</a>
                        </dd>
                    </dl>
                    <dl>
                        <dt><a href="#">少儿</a></dt>
                        <dd>
                            <a href="#">少儿</a> <a href="#">0-2岁</a> <a href="#">3-6岁</a> <a href="#">7-10岁</a>
                            <a href="#">11-14岁</a>
                        </dd>
                    </dl>
                    <dl>
                        <dt><a href="#">教育</a></dt>
                        <dd>
                            <a href="#">教材</a> <a href="#">中小学教辅</a> <a href="#">考试</a> <a href="#">外语学习</a>
                        </dd>
                    </dl>
                    <dl>
                        <dt><a href="#">其它</a></dt>
                        <dd>
                            <a href="#">英文原版书</a> <a href="#">港台图书</a> <a href="#">工具书</a> <a href="#">套装书</a>
                            <a href="#">杂志/期刊</a>
                        </dd>
                    </dl>
                </div>
                <div class="rightdiv">
                    <dl>
                        <dd>
                            <a href="http://sale.jd.com/act/1XDZ6ShE5M7tTrl.html">
                                <img src="http://img30.360buyimg.com/erpVCAare/g16/M00/0B/1B/rBEbRlOCFcoIAAAAAAArMNB2tlkAACTlwDgVG8AACtI514.jpg"
                                    width="194" height="70" title="\家电">
                            </a>
                        </dd>
                        <dd>
                            <a href="http://sale.jd.com/act/v8kJIaPmsMGuebpH.html">
                                <img src="http://img30.360buyimg.com/erpVCAare/g16/M00/0B/19/rBEbRlOAiHUIAAAAAAAx8X2c6oIAACTCAP56A4AADIJ112.jpg"
                                    width="194" height="70" title="小家电--三请聚宝盆">
                            </a>
                        </dd>
                    </dl>
                    <dl>
                        <dt>推荐品牌</dt>
                        <dd>
                            <a href="#">美的官方旗舰店</a>
                        </dd>
                        <dd>
                            <a href="#">苏泊尔旗舰店</a>
                        </dd>
                        <dd>
                            <a href="#">九阳旗舰店</a>
                        </dd>
                        <dd>
                            <a href="#">东菱旗舰店</a>
                        </dd>
                        <dd>
                            <a href="#">海尔统帅旗舰店</a>
                        </dd>
                        <dd>
                            <a href="#">小熊旗舰店</a>
                        </dd>
                    </dl>
                    ![](wii.png)
                </div>
            </div>
        </li>
        <li><a href="#">家用电器</a></li>
        <li><a href="#">手机、数码</a></li>
        <li><a href="#">电脑、办公</a></li>
        <li><a href="#">家居、家具、家装、厨具</a></li>
        <li><a href="#">服饰内衣、珠宝首饰</a></li>
        <li><a href="#">个护化妆</a></li>
        <li><a href="#">鞋靴、箱包、钟表、奢侈品</a></li>
        <li><a href="#">运动户外</a></li>
        <li><a href="#">汽车用品</a></li>
        <li><a href="#">母婴、玩具乐器</a></li>
        <li><a href="#">食品饮料、酒类、生鲜</a></li>
        <li><a href="#">营养保健</a></li>
  </ul>
二、Css样式
  • 纯css版
<style type="text/css">
   body{
        padding: 0;
        font-size: 10pt;
        behavior:url(css/csshover.htc);
        /*为兼容IE6引的补丁文件*/
    }
    .topmenu{
        display: block;
        width: 220px;
        border: 2px solid #e4393c;
        margin: 0;
        padding: 0;
    }
    .toptitle{
        height: 40px;
        line-height: 40px;
        text-align: left;
        font-size: 11pt;
        font-weight: bold;
        color: White;
        background: #e4393c;
        padding-left: 20px;
    }
    .topmenu li{
        height: 30px;
        line-height: 30px;
        font-size: 11pt;
        list-style-type: none;
        text-align: left;
        padding-left: 8px;
        z-index: 3;
        /*图层*/
        background-image:url(http://img.mukewang.com/5411027300014f0200220030.jpg);
        /*箭头图片*/
        background-repeat:no-repeat;
        background-position:right;
    }
    .topmenu li:hover{
        background-image:none;
        /*去掉箭头图片*/
        border:1px solid #DDD;
        border-right: 0;
        box-shadow:0 0 8px #DDD;
        /*向框添加一个或多个阴影*/
        -moz-box-shadow: 0 0 8px #DDD;
        /* 老的 Firefox */
        -webkit-box-shadow: 0 0 8px #DDD;
        /*兼容谷歌*/
        border-left: 4px solid #e4393c;
    }
    .topmenu li a{
        text-decoration: none;
        color: #313131;
    }
    .topmenu li a:hover{
        text-decoration: underline;
        font-weight: bold;
        color: #e4393c;
    }
    .submenu{
      display: none;
      width: 715px;
      position: absolute;
      top: 40px;
      left:220px;
      border: 1px solid #DDD;
      z-index: 4;
      background: white;
      box-shadow:0 0 8px #DDD;
      -moz-box-shadow: 0 0 8px #DDD;
      -webkit-box-shadow: 0 0 8px #DDD;
    }
    .leftdiv{
      float: left;
      width: 490px;
      margin: 5px;
    }
    .rightdiv{
      float: left;
      width: 200px;
      margin: 5px;
    }
    .topmenu li:hover .submenu{
      display: block;
    }
    .topmenu li:hover span{
      background: white;
      display: inline-block;
      z-index: 20;
      width: 20px;
      height: 30px;
      float: right;
      position: relative;
    }
    .leftdiv dl{
      display: block;
      border-bottom: 1px solid #EEE;
      padding-bottom: 6px;
      overflow: hidden;
    }
    .leftdiv dl dt{
      display: block;
      float: left;
      width: 60px;
      text-align: right;
      height: 22px;
      line-height: 22px;
      padding-right: 6px;
    }
    .leftdiv dl dt a{
      color: #e4393c;
      font-weight: bold;
      text-decoration: underline;
      font-size: 10pt;
    }
    .leftdiv dl dd{
      display: block;
      overflow: hidden;
    }
    .leftdiv dl dd a{
      display: block;
      float: left;
      border-left: 1px solid #ccc;
      color: #737373;
      font-size: 9pt;
      padding: 0 8px;
      height: 14px;
      line-height: 14px;
      margin: 4px 0;
    }
    .rightdiv dl dd{
      margin: 3px 0;
    }
    .rightdiv dl dt{
      color: #e4393c;
      font-size: 10pt;
      font-weight: bold;
    }
    .rightdiv dl dd a{
      font-size: 9px;
      color: #737373;
      line-height: 22px;
    }
    .rightdiv dl dd a:hover{
      font-weight: normal;
      color: #737373;
    }
</style>

  • Js版的css样式(简单的将 li:hover 改成一个类名 .lihover)
.topmenu .lihover{/*鼠标移动到上面时应用的样式*/
        background-image:none;
        /*去掉箭头图片*/
        border:1px solid #DDD;
        border-right: 0;
        box-shadow:0 0 8px #DDD;
        /*向框添加一个或多个阴影*/
        -moz-box-shadow: 0 0 8px #DDD;
        /* 老的 Firefox */
        -webkit-box-shadow: 0 0 8px #DDD;
        /*兼容谷歌*/
        border-left: 4px solid #e4393c;
    }
    .topmenu .lihover .submenu{/*悬浮层*/
      display: block;
    }
    .topmenu .lihover span{/*白色小方框*/
      background: white;
      display: inline-block;
      z-index: 20;
      width: 20px;
      height: 30px;
      float: right;
      position: relative;
    }
三、Js部分
<script>
  window.onload = function(){
    var Lis = document.getElementsByTagName('li');
    for (var i = 0; i < Lis.length; i++) {
      Lis[i].i = i;//由于Js中的闭包 for循环中的i是最后一个数 所以不能直接使用i
      Lis[i].onmouseover = function(){
        this.className = "lihover";
        // 为其添加lihover类的样式 后面的.submenu span等会自动继承

        var h0 = (this.i-1)*30+42;//当前的一级菜单的高度 30为每一行的高度 42为标题的高度
        var y = this.getElementsByTagName('div')[0].offsetHeight;//当前一级菜单下悬浮层的高度
        var h = this.getElementsByTagName('div')[0].style.top + y;
        if(h < h0){
          this.getElementsByTagName('div')[0] = h0+'px';
          //防止当悬浮层内容太少的时候其远离一级菜单
        }
        if(y>550){
          this.getElementsByTagName('div')[0].style.top = "3px";
          //防止当悬浮层内容太多的时候一屏无法展示完整将其上移
        }
      }
      Lis[i].onmouseout = function(){
        this.className = "";
      }
    }
  }
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,718评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,683评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,207评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,755评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,862评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,050评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,136评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,882评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,330评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,651评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,789评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,477评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,135评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,864评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,099评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,598评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,697评论 2 351

推荐阅读更多精彩内容

  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 3,154评论 0 11
  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 9,513评论 0 8
  • 总结: 1.兼容ie6-7hover 可以下载 behavior:url(css/csshover.htc); c...
    love2013阅读 1,325评论 0 1
  • 作为一个25岁+的已婚女性我必需告诉你们这是个很现实的社会,来我们仔细理解下“现实”这个词。 女人,你丑没人追是现...
    化妆师Amy阅读 338评论 0 2
  • 风吹百草露新坟, 冥币张张化悲温。 好酒滴滴谁共饮? 伤心本是未亡人!
    猫步先生阅读 213评论 0 1