本帖最后由 小鲁哥哥 于 2020-1-8 22:03 编辑
【济南中心】JavaEE就业班同步笔记第一阶段: JavaWeb之前端技术--CSS&JS
1、案例一:使用DIV+CSS方式重新布局网站的首页.
1.1 需求:
网站首页的设计:采用DIV+CSS的方式完成.
之前使用的是表格的布局!!!表格的布局有缺陷!!!
1.2分析:
1.2.1 技术分析:
【HTML的块标签】
<div></div> :默认一个div独占一行.
<span></span> :默认在同一行.
什么是CSS:
Css指层叠样式表
样式定义如何显示html元素
样式通常存储在样式表中
Html4.0中是为了解决内容与表现分离的问题
外部样式可以极大提高工作效率
外部样式通常存储在css文件中
多个样式可层叠
* HTML相当于网站的骨架!CSS对骨架进行美化!
CSS在那些地方使用:
任何网站都会使用CSS去美化页面!!!
如何使用CSS
知道CSS的语法.
CSS的基本语法通常包含两个部分:一个是选择器,一个声明.
* 选择器{属性:属性值;属性:属性值...}
行内样式:直接在HTML的元素上使用style属性设置CSS.
<h1 style="color:red;font-size:200px ;">标题</h1>
页面内样式:在HTML的<head>标签中使用<style>标签设置CSS.
[HTML] 纯文本查看 复制代码 <style>
h1{
color:blue;
font-size: 40px;
}
</style>
外部样式:单独定一个.css的文件.在HTML中引入该CSS文件.
[HTML] 纯文本查看 复制代码 <link href="../../css/demo1.css" rel="stylesheet" type="text/css" />
元素选择器:
[HTML] 纯文本查看 复制代码 div{
border:1px solid blue;
width:40px;
height:45px;
}
ID选择器:
[HTML] 纯文本查看 复制代码 #d1{
border:2px solid red;
}
类选择器:
[HTML] 纯文本查看 复制代码 .divClass{
border:2px solid yellow;
}
使用float属性可以完成DIV的浮动.
float属性的取值:
left元素向左浮动
right元素向右浮动
none默认值,元素不浮动,并会显示在文本显示位置
inherit规定应该从父元素继承float睡醒的值
清除浮动效果:使用clear属性进行清除:
案例:
[HTML] 纯文本查看 复制代码 <!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 步骤分析:
【步骤一】创建一个首页的HTML文件
【步骤二】创建一个整体的DIV元素.
【步骤三】创建每个部分的DIV元素.
【步骤四】为每个部分填充属于自己的那块内容.
1.3 代码实现:
[HTML] 纯文本查看 复制代码 <!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.4 总结:
属性选择器:
[HTML] 纯文本查看 复制代码 <style>
input[type="text"]{
background-color: red;
}
</style>
后代选择器:
div span 查找的是所有div中的所有的span元素.
[HTML] 纯文本查看 复制代码 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元素.
[HTML] 纯文本查看 复制代码 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>
并列选择器:
选择器,选择器{
}
背景
Background将背景属性设置在一个声明中
Background-attachment背景图像是否固定或随页面其余部分浮动
Background-color设置背景颜色
Background-image设置图像为背景
Background-position设置背景图像起始位置
Background-repeat设置图像是否以及如何重复
文本
Color颜色
Direction方向
Line-height设置行高
Letter-spacing设置字符间距
。。。
字体
Font字体属性
Font-size字体尺寸
Font-style字体风格
列表
List-style列表属性
2案例二:使用DIV+CSS布局注册页面:
2.1 需求:
使用DIV+CSS的方式完成注册页面的布局:
2.2 分析:
2.2.1 技术分析:
【CSS中的盒子模型】
内边距:padding.
Padding-top
Padding-right
Padding-bottom
Padding-left
边框:border
外边距:margin
同内边距
【CSS中的定位】
position属性设置定位:
* relative:相对定位
* absolute:绝对定位
使用另外两个属性:left,top
2.2.2 步骤分析:
【步骤一】创建一个html页面
【步骤二】创建一个整体的DIV
【步骤三】在整体DIV中创建5个DIV.
【步骤四】为每个DIV添加所属的内容.
2.3 代码实现:
[HTML] 纯文本查看 复制代码 <!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>
2.4 总结:
2.4.1 超链接的伪类
A:link{color:xxx}未访问链接
a:visited{color:xxx}已访问链接
a:hover{color:xxx}鼠标移动到链接
a:active{color:xxx}选定链接
3、案例三:完成对注册页面的数据的简单校验.
3.1 需求:
对注册页面的数据进行非空的简单校验!!!如果有某个值没有输入,点击提交,弹出一个对话框进行提示!!
3.2 分析:
3.2.1 技术分析:
【JS的概述】
什么是JavaScript:
运行在浏览器端的脚本语言!
Js可插入html的变成代码
Js是一种轻量级的编程语言
JavaScript的历史:
JavaScript的组成:
ECMAScript:JavaScript的基本的语法
BOM:Browser Object Model
DOM:Document Object Model
其他的脚本语言:
JavaScript,ActionScript,Flex
JS的用途:
使页面更加丰富,使页面动起来!!!
区分大小写:
弱变量类型语言:(与Java不同)
* Java
* int i = 3;
* String s = “abc”;
* JavaScript:
* var i = 3;
* var s = “abc”;
分号可有可无:
推荐写上分号
变量命名:
第一个字符必须是字符、下划线或美元
其他的可以是任意字符
JS将数据类型分成两类:
* 原始类型:
* undefined:未定义类型
* boolean:布尔类型
* number:数字类型
* string:字符或字符串.
* null:空
* 引用类型:
* 对象类型.对象类型默认值是null.
JS中的运算符与Java中基本一致!
JS中有一个 === 全等于.全等于是类型和值都一致的情况下才为true.
JS中的语句与Java的语句一致!
JS通常都由一个事件触发.
触发一个函数,定义一个函数.
获得操作对象的控制权.
修改要操作的对象的属性或值.
定义函数:
* [Java] 纯文本查看 复制代码 function 函数名称(){
// 函数体
}
* [HTML] 纯文本查看 复制代码 window.onload = function(){
} 常用事件:onclick,ondblclick,onmouseover,onmouseout,onload...
【JS的引入方式】
通常两种方式:
一种:页面内直接编写JS代码,JS代码需要使用<script></script>.
二种:将JS的代码编写到一个.js的文件中,在HTML中引入该JS代码即可.
3.3 代码实现:
[JavaScript] 纯文本查看 复制代码 <script>
// 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> 3.4 总结:
将JS的代码定义成一个文件引入:
[JavaScript] 纯文本查看 复制代码 <script src="../js/check.js"></script>
获得页面中的元素:
* document.getElementById(“”);
正则的匹配:
JS中有两种匹配正则的方式:
* 使用String对象中的match方法.
* 使用正则对象中的test方法.
4、案例四:使用JS完成图片滚动的效果:
4.1 需求:
使用JS完成该效果:
4.2 分析:
4.2.1 技术分析:
【HTML的window对象】
* setInterval(); :每隔多少毫秒执行某个表达式.
* setInterval(“change()”,5000);
* setTimeout(); :隔多少毫秒执行一个该表达式.
* setTimeout(“change()”,5000);
|