zoukankan      html  css  js  c++  java
  • 7竖直排列的导航菜单

    实例章节
    1.双竖线菜单

    (1)html框架
    <div id="menu">
    <a href="#">home</a>
    <a href="#">contact</a>
    <a href="#">web dev</a>
    <a href="#">map</a>
    </div>
    (2)设置容器css
    #menu{
    120px;
    background:#ccc;
    font-family:arial;
    font-size:14px;
    padding:8px;
    margin:0 auto;//水平居中
    }
    7竖直排列的导航菜单 - 骡子 - stupidmule@126 的博客
    (3)设置菜单项的css样式
    竖直排列 要从行内元素变为块级元素
    #menu a,#menu a:visited{
    dispaly:block;
     
    padding:4px 8px;
    color:#000;文字样式
    text-decoration:none;
    margin:8px  0;项目间的空隙
    border-left:8px solid #9ab;左右两侧的竖线
    border-right:8px solid #9ab;
    }
     
    7竖直排列的导航菜单 - 骡子 - stupidmule@126 的博客

       (4)出现的问题

    7竖直排列的导航菜单 - 骡子 - stupidmule@126 的博客
      最上面的菜单项   margin和menu容器的padding各有8个像素,加在一起为16个像素
    单独设置第一个菜单项和最有一个菜单项css
    #menu  a#firest,#menu a#last{
    margin:0;
    }
    再设置鼠标指针经过的效果
    #menu a:hover{
    color:#f00;
    border-left:8px solid #000;
    border-right:8px solid #000;
    }

    7竖直排列的导航菜单 - 骡子 - stupidmule@126 的博客


      在ie中鼠标指针进入矩形范围时,不触发效果的解决办法是在a  和a:visited中增加height:1em
    css中有first-child属性
    2.立体菜单
    (1) html结构
    <body>
    <div id="menu">
    <a href="#">home</a>
    <a href="#">contact</a>
    <a href="#">web dev</a>
    </div>
    <body>
     
     
       (2) menu容器的设置
    #menu{
    font-family:arial;
    font-size:14px;
    }
    (3)菜单项设置
    #menu a,#menu a:visited
    {
    text-decoration:none;
    text-align:center;
    color:#fff;
     
    display:block;块
    10em;宽度
    padding:0.25em;内边距
    margin:0.5em auto;菜单项间间隔
     
    背景色
     
    border:2px solid #fff; 边框粗细
    border-color:#def #678 #345 #cde;边框颜色显示突起效果
     
    position:relative;相对定位
    }
    7竖直排列的导航菜单 - 骡子 - stupidmule@126 的博客上边框和左边框使用浅色,下边框和右边框使用深色,就会出现凸起的视觉效果。
    7竖直排列的导航菜单 - 骡子 - stupidmule@126 的博客鼠标经过时,按钮凹陷样式,按钮向下右方平移2个像素,设置按钮所在的盒子相对定位,指以定位元素自身      所在的位置为基准,平移指定的距离。
    #menu a:hover{
    top:2px;
    left:2px;
    border-color:#345 #cde #def #678;
    }
    凹陷的视觉效果   上下边框的颜色交换,左右边框的颜色交换
    3.箭头菜单
    7竖直排列的导航菜单 - 骡子 - stupidmule@126 的博客
     

      (1)利用css制作三角形效果


    css盒子的height和width设置为0   然后设置边框较粗,并且左右边框的颜色不同于背景色。其余3条边框的颜色 和背景相同。
    7竖直排列的导航菜单 - 骡子 - stupidmule@126 的博客
    (2)放置三角形
    增加两个小盒子,分别放置在菜单项的两端,各用于显示一个三角形
    制作方法:
    例子:<div id="menu">
     <a href="#">
     <span class="left"></span>
    home
     <span class="right"></span>
     </a>
       </div>

      (3)基本设置

    #menu{
    font-family:arial;
    font-size:16px;
    140px;
    margin:0 auto;
    border:solid 1px #ccc;
    }
     
    设置普通状态的样式
    #menu a,#menu a:visited{
    text-decoration:none;   
    text-align:center;
    color:#c00;
    display:block;
    padding:4px;
     
    border:solid 1px #fff;   边框与背景颜色相同
    position:relative;
    }
    (4)箭头效果
    #menu a:hover{
    border-color:#c00;
    }
    #menu a:hover span{
    display:block;
    position:absolute;
    height:0;
    0;
    overflow:hidden;
    border:solid 8px #fff;
    top:4px;
    }
    再单独设置两边的span
    #menu a:hover span.left{
    border-left-color:#c00;
    left:8px;
    }
    #menu a:hover span.right{
    border-right-color:#c00;
    right:8px;
    }
    如果ie中不能用 要设置每个菜单项的宽度   
    溢出overflow:hidden;
     
    7竖直排列的导航菜单 - 骡子 - stupidmule@126 的博客
    4.带说明信息的菜单

      在3的基础上,制作说明信息菜单

     

    7竖直排列的导航菜单 - 骡子 - stupidmule@126 的博客
      基本思路:在html结构中增加一个span元素用于放置说明内容

    代码:<div id="menu">
    <a href="#">
    <span class="left"></span>
    home
    <span class="right"></span>
    <span class="intro">这里是说明信息菜单项</span>
    </a>
    </div>
         默认隐藏  当鼠标经过时再显示span
    设置方法
    #menu{
    font-family:arial;
    font-size:16px;
    140px;
    margin:0 auto;
    border:solid 1px #ccc;
    }
     
    设置普通状态的样式
    #menu a,#menu a:visited{
    text-decoration:none;   
    text-align:center;
    color:#c00;
    display:block;
    padding:4px;
     
    border:solid 1px #fff;   边框与背景颜色相同
    position:relative;
    width:130px;
    }
     
    #menu a span{
    display:none;
    }
     
    #menu a:hover{
    border-color:#c00;
    }
    #menu a:hover span{
    display:block;
    position:absolute;
    height:0;
    0;
    overflow:hidden;
    border:solid 8px #fff;
    top:4px;
    }
    再单独设置两边的span
    #menu a:hover span.left{
    border-left-color:#c00;
    left:8px;
    }
    #menu a:hover span.right{
    border-right-color:#c00;
    right:8px;
    }
     
    //显示说明信息
    #menu a:hover span.intro{
    color:#000;
    font-size:12px;
    display:block;
    position:absolute;绝对定位以a元素为定位基准
    left:150px;
    top:0px;
    100px;
    height:auto;
    padding:5px;
     
    border:1px dashed #234;
    }
     
     
     
    本章注意:1.相邻盒子的margin在竖直方向相遇时的塌陷现象,水平方向没有该现象
    2.在一系列盒子排列后,对头尾盒子样式单独设置
    3.通过粗边框的颜色设置可以产生出斜角效果。
    4.为了防止鼠标指针经过时造成边框的跳动,可以添加于背景色相同的边框
    5.相对定位的含义是以自身原来所在位置为基准进行偏移
    6.包含块得定义方法,绝对定位以包含块为基准进行偏移
    7.为了使某个盒子绝对定位,它的上一级元素可以设为相对定位,从而变成“包含块”;
  • 相关阅读:
    高精度减法
    HDU 4460 Friend Chains
    POJ 2386 Lake Counting
    POJ 1852 Ants
    HDU 1240 Asteroids!
    SQL注入之Sqli-labs系列第三十六关(基于宽字符逃逸GET注入)和三十七关(基于宽字节逃逸的POST注入)
    SQL注入之Sqli-labs系列第三十四关(基于宽字符逃逸POST注入)和三十五关
    SQL注入之Sqli-labs系列第三十三关(基于宽字符逃逸注入)
    SQL注入之Sqli-labs系列第三十关(基于WAF防护的双引号报错注入)和三十一关
    墨者-uWSGI 漏洞复现(CVE-2018-7490)
  • 原文地址:https://www.cnblogs.com/dongguolei/p/7902914.html
Copyright © 2011-2022 走看看