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(默认值),relativeabsolute,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属性设置偏移。

绝对定位可以这样理解:

 

1.HTML页面是地面,绝对定位的元素则把它从文档流里脱离出来,并且默认盖在HTML页面上面
2.当有多个absolute元素重叠时,怎样决定他们的上下级关系,这就需要一个特殊的属性:z-index,可以把它理解成这个绝对定位元素在第几层。默认z-index=0,即该元素就盖在地面上,z-index=1则表示该元素在地面下面,z-index越高,则表示该元素在越高层。

relative 相对定位实例: 

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
        html body
        {
            margin: 0px;
            padding: 0px;
        }
        #parent
        {
            width: 200px;
            height: 200px;
            border: solid 5px black;
            padding: 0px;
            position: relative;
            background-color: green;
            top: 15px;
            left: 15px;
        }
        #sub1
        {
            width: 100px;
            height: 100px;
            background-color: blue;
        }
        #sub2
        {
            width: 100px;
            height: 100px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div id="parent">
        <div id="sub1">
        </div>
        <div id="sub2">
        </div>
    </div>
</body>
</html>

这是一个嵌套的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 原有的位置。

如果我们把Sub1 的同级Div Sub2 也设置一个相对位置,会产生什么结果?我们来看一下。

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

结果如下图:

Sub2也根据原有位置进行了偏移,同时遮盖住了Sub1,也不会影响Sub1的位置。

absolute 绝对定位实例:

绝对定位在使用当中比较容易出错的,有几个需要注意的地方,将上面的代码还原,我们为Sub1 增加一个绝对定位。

复制代码

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

复制代码

结果如下:

我们发现,由于我们对Sub1进行了绝对定位,Sub1的位置发生了偏移,而同级Div Sub2,则占据了Sub1的位置,并且Sub1遮挡了Sub2.

下面,把Sub2 也增加绝对定位:

复制代码

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

复制代码

结果如下:

我们会发现,Sub2 也进行了偏移,并且遮盖住了Sub1。

这时候,我们会发现问题,两个子Div 都设置了 绝对定位,他们是相对于哪个元素发生了偏移呢?

这分两种情况:

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

2、如果sub1不存在一个有着position属性的父对象,那么那就会以body为定位对象,按照浏览器的窗口进行定位

我们将例子中的Parent 的Position 属性删除,再来看一下结果:

由于两个子div没有找到有Position属性的父元素,则以Body进行定位,由于图片原因,请不要误以为是相对于Parent的。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本文的叙述围绕着如何实现一个功能完善的网站进行展开。依据本次毕业设计的要求,主要从可行性分析、需求分析、总体设计、详细设计、编码、测试几个阶段进行毕业设计论文的编写。 接着在需求分析中,根据用户的角度,分析了所设计的网站需要实现哪些基本功能;从设计者的角度,分析了设计一个网站所用的编辑工具和编程语言及网站的软硬件开发环境。根据分析的结果,主要采用FrontPage,Dreamweaver编辑器,结合ASP.net(vbscript,javascript)编程编程语言,进行网站的页面设计;网站的主要功能主要分为新闻、下载、友情链接、网上调查,图片几大模块。 详细设计阶段的任务就是把解法具体化。在详细设计阶段,依据总体分析的结果,进行具体页面的组织和数据库结构的设计。页面的组织主要是设计网页之间的联系,同时根据这些联系实现网页基本功能的构架;数据库的设计主要考虑各程序模块的基本功能,设计相应的表格、字段,用来存贮相应的数据记录,为页面的生成提供数据来源。 在编码阶段,进行具体网页的编码设计。在设计中,根据网页的程序界面,表单,需要的数据等,写出实际的程序代码。由于本次设计的页面比较多,不可能尽数地写出全部程序的代码,因此,在这一章节中,主要解释了在此次设计中主要用到的页面设计和数据库的编码技术。 测试的主要任务是为了发现程序中的错误,软件测试的过程亦是程序运行的过程。在本次设计中,主要采用边测试边修改的方法,在测试网页的同时根据结果及时进行相应的修改。在测试过程中,主要从外观、链接、速度方面测试网页是否能够实现相应的功能。 关键字ASP.net、FrontPage、Deamweaver

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值