Web实训 3.19

主要内容:


1.导航栏(变换菜单 多级菜单)
2.JQuery基础------js框架,简单应用,代码量少。
js10行,JQuery2行搞定。

 

导航栏

方法一:div方法的实现

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        a{
            color: #FFFF99;
            text-decoration: none;
        }
        a:hover{
            color: #FFFFFF;
            text-decoration: underline;
        }
        #top{
            padding: 10px 10px 0;
            font-size: 12px;
            font-weight: bold;
            margin: 1px 0 0;
            list-style: none;
            border-bottom: 8px solid #DCE6F4;
            overflow: hidden;
            background-color: #33b5e5;
        }
        .top-nav{
           float: left;
            margin-right: 1px;
            background-color: #333333;
            position: relative;
            width: 80px;
            height: 20px;
            text-align: center;
            line-height: 20px;
        }
        .top-nav span{
           position: absolute;
            visibility: hidden;
        }
        .top-nav:hover span{
            line-height: 20px;
            background: #DDDDDD;
            color: #666666;
            display: block;
            width: 80px;
            text-align: center;
            padding-top: 2px;
            visibility: visible;
            top:0;
            left: 0;
            color:#FFFFFF;
            background:#DC4E1B;
        }
    </style>
</head>
 
<body>
<div id="top">
    <div class="top-nav"><a href="123">首页<span class="span">Home</span></a></div>
    <div class="top-nav"><a href="123">课堂大厅<span class="span">Course</span></a></div>
    <div class="top-nav"><a href="123">学习中心<span class="span">Learn</span></a></div>
    <div class="top-nav"><a href="123">关于我们<span class="span">About</span></a></div>
</body>
<html>

方法二:ul li方法的实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>变换菜单</title>
</head>
<style type="text/css">
    a{
        color: #FFFF99;
        text-decoration: none;
    }
    a:hover{
        color: #FFFFFF;
        text-decoration: underline;
    }
    .top-nav{
        padding: 10px 10px 0;
        font-size: 12px;
        font-weight: bold;
        margin: 1px 0 0 0;
        list-style: none;
        border-bottom: 8px solid #DCE6F4;
        overflow: hidden;
        background-color: #33b5e5;
    }
    .top-nav li{
        float: left;
        margin-right: 1px;
    }
    .top-nav li a{
        position: relative;
        z-index: 0;
        line-height: 20px;
        text-decoration: none;
        background: #DDDDDD;
        color: #666666;
        display: block;
        width: 80px;
        text-align: center;
 
    }
    .top-nav li a span{
        position: absolute;
        visibility: hidden;
    }
    .top-nav li a:hover span{
        line-height: 20px;
        text-decoration: none;
        background: #DDDDDD;
        color: #666666;
        display: block;
        width: 80px;
        text-align: center;
        padding-top: 2px;
        visibility: visible;
        top:0;
        left: 0;
        color:#FFFFFF;
        background:#DC4E1B;
    }
</style>
<body>
<div id="top">
<ul class="top-nav">
<li class="top-nav"><a href="#">首页<span>Home</span></a></li>
<li class="top-nav"><a href="#">课堂大厅<span>Course</span></a></li>
<li class="top-nav"><a href="#">学习中心<span>Learn</span></a></li>
<li class="top-nav"><a href="#">关于我们<span>About</span></a></li>
</ul>
</div>
</body>
</html>

 

css的定位属性
css的position属性值有static(默认值),relative,absolute,fixed。分为两大类:positioned(relative,absolute,fixed)和unpositioned(static)。

1.static:默认值。表示该元素没有定位。

2.relative:相对定位。如果将元素设置为相对定位,可以作为绝对定位元素的参照物,对象不可层叠。

3.Fixed:固定定位。固定在视窗(即浏览器显示的整个页面)的某个位置,可以通过设置top,bottom,left,right属性设置相对于视窗的位置。

4.absolute:绝对定位。相对于最近的positioned祖先元素偏移(当该元素的父元素都不是positioned,则相对于body元素偏移)。通过设置top,bottom,left,right属性设置偏移。
 

嵌套的DIV,一个父Div Parent, 包含两个子DIV Sub1 和 Sub2,由于两个子DIV没有设置任何Position属性,它们处于它们应当的位置。默认位置如下图:

修改一下Div Sub1 的样式:

#sub1{    width: 100px;
    height: 100px;
    background-color: blue;
    position: relative;
    top: 15px;
    left: 15px;}


结果如下图:我们会发现Sub1进行了偏移,并不影响Sub2的位置,同时遮盖住了Sub2,切记偏移并不是相对于 Div Parent的,而是相对于Sub1 原有的位置。

再次修改样式:


#sub2
{
   width: 100px;
   height: 100px;
   background-color: red; 
   position: relative;
   top: 10px;
   left: 10px;                  
}

结果如下图:

1、如果Sub1 的父元素或者祖父元素,设置了Position属性,并且属性值为 absolute 或 relative的时候,那么子元素相对于父元素来进行定位。比如我们例子中最外层Div Parent设置了相对定位属性,因此Sub1 和 Sub2 两个Div 就根据 Div Parent 来进行定位。但是根据Parent那个定位点进行定位呢?答案是:如果parent设定了margin,border,padding等属性,那么这个定位点将忽略padding,将会从padding开始的地方(即只从padding的左上角开始)进行定位。
2、如果sub1不存在一个有着position属性的父对象,那么那就会以body为定位对象,按照浏览器的窗口进行定位。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值