第2章WEB02-CSS&JS篇

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第2章WEB02-CSS&JS篇相关的知识,希望对你有一定的参考价值。

今日任务
? 使用CSS完成网站首页的美化
? 使用CSS完成网站注册页面的美化
? 使用JS完成简单的数据校验
? 使用JS完成图片轮播效果
教学导航
教学目标
了解CSS的概念
了解CSS的引入方式
了解CSS的基本语法和常用的选择器
了解CSS的盒子模型,悬浮和定位.
了解JS的概念
掌握JS的基本语法,数据类型,能够使用JS完成简单的页面交互.
教学方法
案例驱动法
1.1 上次课的内容回顾:

html:
* HTML的概述:
    * HTML:Hyper Text Markup Language.
    * HTML就是由一组标签所组成的.
* HTML的字体标签:
    * <font>标签:
        * 属性:color,size,face
* HTML的排版标签:
    * h标签:标题标签.
    * p标签:段落标签.
    * b标签:加粗标签.
    * i标签:斜体标签.
    * u标签:下划线标签.
    * br标签:换行.
    * hr标签:水平线.
* HTML的图片标签:
    * img标签:
        * 属性:
            * src属性:图片的路径.
            * 相对路径:  ./ 代表当前目录   ../上一级目录   
            * width,height,alt.
* HTML的超链接标签:
    * a标签:
       * 属性:
            * href:链接的路径.
            * target:链接打开的方式. _self,_blank,_parent
* HTML的列表标签:
    * 无序列表:<ul>
     * 有序列表:<ol>
* HTML的表格标签:
     * table标签:
         * tr标签:表格的行.
         * td标签:表格的列.
* HTML的表单标签:(*****)
     * form标签:
         * action属性:表单提交的路径
         * method属性:表单的提交的方式.
             * GET和POST:
                 * GET:地址栏上会显示提交的数据的信息,大小限制.
                 * POST:地址栏不会显示提交的数据的信息,没有大小限制.
    * <input>
        * type=”text”:文本框
        * type=”password”:密码框.
        * type=”radio”:单选按钮.
        * type=”checkbox”:复选框.
        * type=”file”:文件上传.
        * type=”hidden”:隐藏字段.
        * type=”submit”:提交按钮.
        * type=”reset”:重置按钮.
        * type=”button”:普通按钮.
        * type=”image”:图片按钮.
   * <select>:下拉列表.
   * <textarea>:文本区
* HTML的框架标签:
   * <frameset>
   * <frame>

1.2 案例一:使用DIV+CSS方式重新布局网站的首页.
1.2.1 需求:
网站首页的设计:采用DIV+CSS的方式完成.

技术分享图片
之前使用的是表格的布局!!!表格的布局有缺陷!!!
1.2.2 分析:
1.2.2.1 技术分析:
【HTML的块标签】

<div></div>                :默认一个div独占一行.
<span></span>        :默认在同一行.

【CSS的概述】
? 什么是CSS:

技术分享图片

  • HTML相当于网站的骨架!CSS对骨架进行美化!

? CSS在那些地方使用:
任何网站都会使用CSS去美化页面!!!

? 如何使用CSS
知道CSS的语法.

【CSS的基本语法】
CSS的基本语法通常包含两个部分:一个是选择器,一个声明.

  • 选择器{属性:属性值;属性:属性值...}

    技术分享图片
    【CSS的引入的方式】
    ? 行内样式:直接在HTML的元素上使用style属性设置CSS.
    <h1 style="color:red;font-size:200px ;">标题</h1>

? 页面内样式:在HTML的<head>标签中使用<style>标签设置CSS.
<style>
h1{
color:blue;
font-size: 40px;
}
</style>

? 外部样式:单独定一个.css的文件.在HTML中引入该CSS文件.
<link href="../../css/demo1.css" rel="stylesheet" type="text/css" />

【CSS的选择器】
? 元素选择器:
div{
border:1px solid blue;
width:40px;
height:45px;
}
? ID选择器:
#d1{
border:2px solid red;
}
? 类选择器:
.divClass{
border:2px solid yellow;
}

【CSS的浮动】
? 使用float属性可以完成DIV的浮动.

技术分享图片
float属性的取值:

技术分享图片
? 清除浮动效果:使用clear属性进行清除:

技术分享图片

? 案例:

<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title></title>
                <style>
                        .divClass{
                                border:1px solid blue;
                                width:200px;
                                height:220px;
                        }

                        #d1{
                                float:left;
                        }
                        #d2{
                                float:left;
                        }
                        #d3{
                                float:left;
                        }
                        .clear{
                                clear:both;
                        }
                </style>
        </head>
        <body>
                <div id="d1" class="divClass">DIV1</div>
                <div id="d2" class="divClass">DIV2</div>
                <div id="d3" class="divClass">DIV3</div>
                <div class="clear"></div>
                <div id="d4" class="divClass">DIV4</div>
        </body>
</html>

1.2.2.2 步骤分析:
【步骤一】创建一个首页的HTML文件
【步骤二】创建一个整体的DIV元素.
【步骤三】创建每个部分的DIV元素.
【步骤四】为每个部分填充属于自己的那块内容.
1.2.3 代码实现:

<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title>首页</title>
                <style>
                        #bodyDiv{
                                border:1px solid blue;
                                width:90%;
                        }

                        .logoDiv{
                                border:1px solid blue;
                                width:33%;
                                float:left;
                                height:50px;
                        }

                        .clear{
                                clear:both;
                        }

                        #menuDiv{
                                width:100%;
                                height:50px;
                                border:1px solid blue;
                                background-color: black;
                        }

                        #imgDiv{
                                width:100%;
                                border:1px solid blue;
                        }

                        #menuDiv a{
                                font-size: 20px;
                                color: white;
                        }
                        .productClass{
                                width:100%;
                                border:1px solid blue;
                        }
                        .contentClass{
                                width:100%;
                                border:1px solid blue;
                        }
                        .contentClass font{
                                font-size: 30px;
                                color: black;

                        }
                </style>
        </head>
        <body>
                <!-- 整体的DIV -->
                <div id="bodyDiv">
                        <!-- logo的DIV -->
                        <div>
                                <div class="logoDiv">
                                        <img src="../img/logo2.png" height="48">
                                </div>
                                <div class="logoDiv">
                                        <img src="../img/header.png" height="48">
                                </div>
                                <div class="logoDiv">
                                        <a href="">登录</a>
                                        <a href="">注册</a>
                                        <a href="">购物车</a>
                                </div>
                                <div class="clear"></div>

                        </div>      
                        <!-- Menu的DIV -->
                        <div id="menuDiv">
                                <a href="">首页</a> 
                                <a href="">电脑办公</a> 
                                <a href="">手机数码</a> 
                                <a href="">烟酒糖茶</a> 
                        </div>      
                        <!-- 图片滚动的DIV -->
                        <div id="imgDiv">
                                <img src="../img/1.jpg" width="100%">
                        </div>      
                        <!-- 热门商品的DIV -->
                        <div class="productClass">
                                <!-- 文字部分的DIV -->
                                <div class="contentClass">
                                        <font>热门商品</font><img src="../img/title2.jpg">
                                </div>
                                <!-- 商品部分的DIV -->
                                <div style="width:100%;border:1px solid blue;">
                                        <div style="width:15%;height: 460px;border:1px solid blue;float:left;">
                                                <img src="../img/big01.jpg" width="100%" height="100%">
                                        </div>

                                        <div style="width:84%;height: 460px;border:1px solid blue;float:left;">
                                                <div>
                                                        <div style="border:1px solid blue;width:48%;float:left;height:228px;">
                                                                <img src="../img/middle01.jpg" width="100%" height="100%">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                </div>
                                                <div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                </div>
                                        </div>
                                </div>
                        </div>      
                        <!-- 广告的DIV -->
                        <div style="width:100%;border:1px solid blue;">
                                 <img src="../img/ad.jpg" width="100%" height="80">
                        </div>      
                        <!-- 最新商品的DIV -->
                        <div class="productClass">
                                <!-- 文字部分的DIV -->
                                <div class="contentClass">
                                        <font>最新商品</font><img src="../img/title2.jpg">
                                </div>
                                <!-- 商品部分的DIV -->
                                <div style="width:100%;border:1px solid blue;">
                                        <div style="width:15%;height: 460px;border:1px solid blue;float:left;">
                                                <img src="../img/big01.jpg" width="100%" height="100%">
                                        </div>

                                        <div style="width:84%;height: 460px;border:1px solid blue;float:left;">
                                                <div>
                                                        <div style="border:1px solid blue;width:48%;float:left;height:228px;">
                                                                <img src="../img/middle01.jpg" width="100%" height="100%">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                </div>
                                                <div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                        <div style="border:1px solid blue;width:16%;float:left;height:228px;">
                                                                <img src="../img/small03.jpg">
                                                        </div>
                                                </div>
                                        </div>
                                </div>
                        </div>      
                        <!-- 页脚的DIV -->
                        <div  style="width:100%;border:1px solid blue;">
                                <img src="../img/footer.jpg" width="100%">
                        </div>      
                        <!-- 友情链接及版权的DIV -->
                        <div style="width:100%;border:1px solid blue;">
                                <center>

    关于我们 联系我们 招贤纳士 法律声明 友情链接 支付方式 配送方式 服务声明 广告声明 <br/>
Copyright ? 2005-2016 传智商城 版权所有
                                </center>
                        </div>      
                </div>
        </body>
</html>

1.2.4 总结:
【CSS的其他选择器】
? 属性选择器:
<style>
input[type="text"]{
background-color: red;
}
</style>

? 后代选择器:
div span 查找的是所有div中的所有的span元素.
h1 strong{
color:red;
}
<h1>
This is <strong>very</strong> <strong>very</strong> important.
</h1>

            <h1>This is
                    <strong>very</strong>
                    <em>really
                            <strong>very</strong>
                    </em>
                            important.
            </h1>

? 子元素选择器:
div > span找这个div中的第一层级的span元素.
h1 > strong{
color:red;
}
<h1>
This is <strong>very</strong> <strong>very</strong> important.
</h1>

            <h1>This is
                    <strong>very</strong>
                    <em>really
                            <strong>very</strong>
                    </em>
                            important.
            </h1>

? 并列选择器:
选择器,选择器{
}

【CSS的样式】
? 背景
技术分享图片

? 文本

技术分享图片
? 字体

技术分享图片
? 列表

技术分享图片
1.3 案例二:使用DIV+CSS布局注册页面:
1.3.1 需求:
使用DIV+CSS的方式完成注册页面的布局:
技术分享图片
1.3.2 分析:1.3.2.1 技术分析:
【CSS中的盒子模型】

技术分享图片
? 内边距:padding.

技术分享图片
技术分享图片
? 边框:border

? 外边距:margin

技术分享图片
【CSS中的定位】
position属性设置定位:

  • relative:相对定位
  • absolute:绝对定位
    使用另外两个属性:left,top

1.3.2.2 步骤分析:
【步骤一】创建一个html页面
【步骤二】创建一个整体的DIV
【步骤三】在整体DIV中创建5个DIV.
【步骤四】为每个DIV添加所属的内容.
1.3.3 代码实现:

<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title>注册页面</title>
                <style>
                        div{
                                border:1px solid blue;
                        }

                        .bodyDiv{
                                width:90%;
                        }

                        .bodyDiv > div{
                                width:100%;
                        }

                        .logoDiv{
                                width:33%;
                                height:50px;
                                float:left;
                        }

                        .clear{
                                clear:both;
                        }

                        ul li{
                                display:inline;
                        }
                </style>
        </head>
        <body>
                <!--整体DIV-->
                <div class="bodyDiv">
                        <div>
                                <div class="logoDiv">
                                        <img src="../img/logo2.png" height="50"/>
                                </div>
                                <div class="logoDiv">
                                        <img src="../img/header.png" height="50"/>
                                </div>
                                <div class="logoDiv" style="margin-top:0px;padding-top:10px;height:40px;">
                                        <a href="">登录</a>
                                        <a href="">注册</a>
                                        <a href="">购物车</a>
                                </div>
                                <div class="clear"></div>
                        </div>
                        <div style="height:50px;background-color: black;color:white;font-size: 20px;">
                                <ul >
                                        <li>首页</li>
                                        <li>首页</li>
                                        <li>首页</li>
                                        <li>首页</li>
                                </ul>
                        </div>
                        <div style="height:500px;background-image: url(../img/regist_bg.jpg);">
                                <div style="border:5px solid gray;background-color:white;position:absolute;left:350px;top:160px;width:600px;">
                                        <form>
                                        <table border="0" width="100%" cellspacing="15">
                                                <tr>
                                                        <td>用户名</td>
                                                        <td><input type="text" name="username"></td>
                                                </tr>
                                                <tr>
                                                        <td>密码</td>
                                                        <td><input type="password" name="password"></td>
                                                </tr>
                                                <tr>
                                                        <td>确认密码</td>
                                                        <td><input type="password" name="repassword"></td>
                                                </tr>
                                                <tr>
                                                        <td>性别</td>
                                                        <td><input type="radio" name="sex" value="男">男<input type="radio" name="sex" value="女">女</td>
                                                </tr>
                                                <tr>
                                                        <td>籍贯</td>
                                                        <td>
                                                                <select name="province">
                                                                        <option>-请选择-</option>
                                                                </select>
                                                                <select name="city">
                                                                        <option>-请选择-</option>
                                                                </select>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <td>爱好</td>
                                                        <td>
                                                                <input type="checkbox" name="hobby" value="篮球" />篮球
                                                                <input type="checkbox" name="hobby" value="足球" />足球
                                                                <input type="checkbox" name="hobby" value="排球" />排球
                                                                <input type="checkbox" name="hobby" value="羽毛球" />羽毛球
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <td>邮箱</td>
                                                        <td><input type="text" name="email"></td>
                                                </tr>
                                                <tr>
                                                        <td colspan="2"><input type="submit" value="注册"></td>
                                                </tr>
                                        </table>
                                        </form>
                                </div>
                        </div>
                        <div>
                                <img src="../img/footer.jpg" width="100%"/>
                        </div>
                        <div>
                                <center>

    关于我们 联系我们 招贤纳士 法律声明 友情链接 支付方式 配送方式 服务声明 广告声明 <br/>
Copyright ? 2005-2016 传智商城 版权所有
                                </center>
                        </div>
                </div>
        </body>
</html>

1.3.4 总结:
1.3.4.1 超链接的伪类

技术分享图片
1.4 案例三:完成对注册页面的数据的简单校验.
1.4.1 需求:
对注册页面的数据进行非空的简单校验!!!如果有某个值没有输入,点击提交,弹出一个对话框进行提示!!

1.4.2 分析:1.4.2.1 技术分析:
【JS的概述】
? 什么是javascript
运行在浏览器端的脚本语言!

技术分享图片
JavaScript的历史:
? JavaScript的组成:

技术分享图片
ECMAScript:JavaScript的基本的语法
BOM:Browser Object Model :
DOM:Document Object Model :
? 其他的脚本语言:
JavaScript,ActionScript,Flex
? JS的用途:
使页面更加丰富,使页面动起来!!!
【JS的基本语法】
? 区分大小写:

技术分享图片
? 弱变量类型语言:(与Java不同)

  • Java
    • int i = 3;
    • String s = “abc”;
  • JavaScript:
    • var i = 3;
    • var s = “abc”;
      ? 分号可有可无:
      技术分享图片
      ? 变量命名:

技术分享图片
【JS的数据类型】
JS将数据类型分成两类:

  • 原始类型:

    • undefined:未定义类型
    • boolean:布尔类型
    • number:数字类型
    • string:字符或字符串.
    • null:空
  • 引用类型:
    • 对象类型.对象类型默认值是null.

【JS的运算符】
JS中的运算符与Java中基本一致!
JS中有一个 === 全等于.全等于是类型和值都一致的情况下才为true.

【JS的语句】
JS中的语句与Java的语句一致!

【JS的通常开发的步骤】
JS通常都由一个事件触发.
触发一个函数,定义一个函数.
获得操作对象的控制权.
修改要操作的对象的属性或值.

定义函数:

  • function 函数名称(){
    // 函数体
    }

  • window.onload = function(){

}
常用事件:onclick,ondblclick,onmouseover,onmouseout,onload...

【JS的引入方式】
通常两种方式:
一种:页面内直接编写JS代码,JS代码需要使用<script></script>.
二种:将JS的代码编写到一个.js的文件中,在HTML中引入该JS代码即可.

1.4.3 代码实现:

<script>[/align]                       
                       // alert("Hello!");

                       function checkForm(){
                               // 获得文本框的值:
                               var username = document.getElementById("username").value;
                               // var val = username.value;
                               // alert(username);
                               if(username == ""){
                                       alert("用户名不能为空!");
                                       return false;
                               }

                               // 校验密码:
                               var password = document.getElementById("password").value;
                               if(password == ""){
                                       alert("密码不能为空");
                                       return false;
                               }

                               // 校验确认密码:
                               var repassword = document.getElementById("repassword").value;
                               if(repassword != password){
                                       alert("两次密码输入不一致!");
                                       return false;
                               }

                               // 校验邮箱:
                               var email = document.getElementById("email").value;
                               // JS校验正则表达式就有两个方法:String对象中的match方法,一个是正则对象中的test方法.
                               // str.match("正则表达式");  正则.test("字符串");
                               if(!/^([a-zA-Z0-9_-])[email protected]([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(email)){
                                       alert("邮箱格式不正确!");
                                       return false;
                               }
                       }
               </script>

1.4.4 总结:
将JS的代码定义成一个文件引入:
<script src="../js/check.js"></script>

获得页面中的元素:

  • document.getElementById(“”);

正则的匹配:
JS中有两种匹配正则的方式:

  • 使用String对象中的match方法.
  • 使用正则对象中的test方法.

1.5 案例四:使用JS完成图片滚动的效果:
1.5.1 需求:
技术分享图片

使用JS完成该效果:

1.5.2 分析:
1.5.2.1 技术分析:
【HTML的window对象】

  • setInterval(); :每隔多少毫秒执行某个表达式.

    • setInterval(“change()”,5000);
  • setTimeout(); :隔多少毫秒执行一个该表达式.
    • setTimeout(“change()”,5000);

以上是关于第2章WEB02-CSS&JS篇的主要内容,如果未能解决你的问题,请参考以下文章

第8章WEB08-XML&Tomcat篇

第11章WEB11-Cookie&Session篇

第12章WEB12-JSP&EL&JSTL篇

第10章WEB10-request&response篇

第13章WEB13-JSP模式&JDBC高级篇

Node.js入门到企业Web开发中的应用