A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 我是楠楠 于 2018-3-22 14:49 编辑

第2章WEB02-CSS&JS篇

今日任务
Ø 使用CSS完成网站首页的美化
Ø 使用CSS完成网站注册页面的美化
Ø 使用JS完成简单的数据校验
Ø 使用JS完成图片轮播效果
教学导航
教学目标
了解CSS的概念
了解CSS的引入方式
了解CSS的基本语法和常用的选择器
了解CSS的盒子模型,悬浮和定位.
了解JS的概念
掌握JS的基本语法,数据类型,能够使用JS完成简单的页面交互.
教学方法
案例驱动法
[size=16.0000pt]1.1 上次课的内容回顾:
[AppleScript] 纯文本查看 复制代码
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的方式完成.
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69AE.tmp.jpg
之前使用的是表格的布局!!!表格的布局有缺陷!!!
1.2.2 分析:
1.2.2.1 技术分析:
HTML的块标签】
<div></div>                :默认一个div独占一行.
<span></span>        :默认在同一行.

CSS的概述】
Ø 什么是CSS:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69AF.tmp.jpg
* HTML相当于网站的骨架!CSS对骨架进行美化!

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

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

CSS的基本语法】
CSS的基本语法通常包含两个部分:一个是选择器,一个声明.
* 选择器{属性:属性值;属性:属性值...}

file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69B0.tmp.jpg
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的浮动.
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69B1.tmp.jpg
float属性的取值:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69B2.tmp.jpg
Ø 清除浮动效果:使用clear属性进行清除:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69C3.tmp.jpg

Ø 案例:
[AppleScript] 纯文本查看 复制代码
<!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 代码实现:
[AppleScript] 纯文本查看 复制代码
<!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的样式】
Ø 背景
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69C4.tmp.jpg
Ø 文本
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69D5.tmp.jpg
Ø 字体
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69D6.tmp.jpg
Ø 列表
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69D7.tmp.jpg
1.3 案例二:使用DIV+CSS布局注册页面:
1.3.1 需求:
使用DIV+CSS的方式完成注册页面的布局:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69D8.tmp.jpg
1.3.2 分析:1.3.2.1 技术分析:
CSS中的盒子模型】
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69D9.tmp.jpg
Ø 内边距:padding.
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69DA.tmp.jpg
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69DB.tmp.jpg
Ø 边框:border

Ø 外边距:margin
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69DC.tmp.jpg
CSS中的定位】
position属性设置定位:
* relative:相对定位
* absolute:绝对定位
使用另外两个属性:left,top


1.3.2.2 步骤分析:
【步骤一】创建一个html页面
【步骤二】创建一个整体的DIV
【步骤三】在整体DIV中创建5DIV.
【步骤四】为每个DIV添加所属的内容.
1.3.3 代码实现:
[AppleScript] 纯文本查看 复制代码
<!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 超链接的伪类
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69EC.tmp.jpg
1.4 案例三:完成对注册页面的数据的简单校验.
1.4.1 需求:
对注册页面的数据进行非空的简单校验!!!如果有某个值没有输入,点击提交,弹出一个对话框进行提示!!

1.4.2 分析:1.4.2.1 技术分析:
JS的概述】
Ø 什么是JavaScript
运行在浏览器端的脚本语言!
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69ED.tmp.jpg
JavaScript的历史:
Ø JavaScript的组成:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69EE.tmp.jpg
ECMAScriptJavaScript的基本的语法
BOMBrowser Object Model        
DOMDocument Object Model        
Ø 其他的脚本语言:
JavaScript,ActionScript,Flex
Ø JS的用途:
使页面更加丰富,使页面动起来!!!
JS的基本语法】
Ø 区分大小写:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69EF.tmp.jpg
Ø 弱变量类型语言:(与Java不同)
* Java
   * int i = 3;
   * String s = “abc”;
* JavaScript:
   * var i = 3;
   * var s = “abc”;
Ø 分号可有可无:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69F0.tmp.jpg
Ø 变量命名:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps69F1.tmp.jpg
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 代码实现:
               
[AppleScript] 纯文本查看 复制代码
 <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_-])+@([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 需求:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps6A02.tmp.jpg

使用JS完成该效果:
1.5.2 分析:
1.5.2.1 技术分析:
HTMLwindow对象】
* setInterval();        :每隔多少毫秒执行某个表达式.
    * setInterval(“change()”,5000);

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

更多

【郑州校区】javaweb阶段笔记之html篇
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出
您需要登录后才可以回帖 登录 | 加入黑马