Java Web之HTML和CSS"/>
1.Java Web之HTML和CSS
1.B/S软件结构
B/S browser Server
JavaEE项目
客户端:浏览器
服务端:WEB服务器
2.前端的开发流程
1.美术实现:页面设计师根据需求设计页面
2.前端工程师:前端工程师将设计做成静态页面
3.java程序员:后台工程师将静态页面改为动态页面
3.网页的组成部分
页面由三部分内容组成:内容(结构)、表现、行为
内容(结构):是我们在页面中可以看到的数据。我们称之为内容,一般内容我们使用html技术来展现。
表现:指的是这些内容在页面上的显示形式。比如说,布局、颜色、大小等等。一般使用CSS技术实现
行为:指的是页面中元素与输入设备交互的响应。一般使用javascript技术实现
4.HTML简介
Hyper Text Markup Language (超文本标记语言) 简写:HTML
HTML 通过标签来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,
通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画
面如何安排,图片如何显示等
5.创建HTML文件
1.创建一个web工程
2.在工程下创建html页面
添加以下内容后运行
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>标题</title>
</head>
<body>hello
</body>
</html>
6.HTML的书写规范
<!DOCTYPE html> <!-- 约束,声明 -->
<html lang="zh_CN"> <!-- html标签表示html的开始 lang="zh_CN"表示中文 html标签一般分为两部分,分别是:head和body-->
<head> <!-- 表示头部信息,一般包含三部分内容,title标签,css样式,js代码 --><meta charset="UTF-8"> <!-- 表示当前页面使用utf-8字符集 --><title>标题</title> <!-- 表示标题 -->
</head>
<body> <!-- body标签是整个html页面像是的主体内容 -->hello
</body>
</html>
7.HTML标签介绍
1.标签的格式:
<标签名>分装的数据</标签名>
2.标签名大小写不敏感
3.标签拥有自己的属性
- 基本属性:bgcolor=“red” 可以修改简单的样式效果
- 事件属性:οnclick=“alert(‘你好!’);” 可以直接设置事件响应后的代码
4.标签又分为,单标签和双标签
- 单标签格式:<标签名 /> 常见的单标签:br(换行) hr(水平线)
- 双标签格式:<标签名> …封装的数据… </标签名>
标签的语法
下载文件后导入(链接: 提取码:xa3d)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>0-标签语法.html</title>
</head>
<body><!-- ①标签不能交叉嵌套 -->正确:<div><span>早安,打工人</span></div>错误:<div><span>早安,打工人</div></span><hr /><!-- ②标签必须正确关闭(闭合) --><!-- i.有文本内容的标签: -->正确:<div>早安,打工人</div>错误:<div>早安,打工人<hr /><!-- ii.没有文本内容的标签: -->正确:<br />1错误:<br >2<hr /><!-- ③属性必须有值,属性值必须加引号 -->正确:<font color="blue">早安,打工人</font>错误:<font color=blue>早安,打工人</font>错误:<font color>早安,打工人</font><hr /><!-- ④注释不能嵌套 -->正确:<!-- 注释内容 --> <br/>错误:<!-- 注释内容 <!-- 注释内容 -->--><hr />
</body>
</html>
注意事项:html代码不是很严谨。有时候标签不闭合,也不会报错。
8.常用标签介绍
8.1 font标签
font标签是字体标签,它可以用来修改文本的字体,颜色,大小(尺寸)
- color属性修改颜色
- face属性修改字体
- size属性修改大小
需求:在网页上显示 我是字体标签 ,并修改字体为 宋体,颜色为红色。
<font color="red" face="宋体" size="7">我是字体标签</font>
8.2 特殊字符
常用的特殊字符表:
显示结果 | 描述 | 实体名称 | 实体编号 |
---|---|---|---|
空格 | |   | |
< | 小于号 | < | < |
> | 大于号 | > | > |
& | 和号 | & | & |
" | 引号 | " | " |
’ | 撇号 | '(IE不支持) | ' |
需求:把
换行标签 变成文本 转换成字符显示在页面上
我是<br>标签<br/>
国哥好 帅啊!
8.3 标题标签
标题标签是h1-h6
h1最大
h6最小
align 属性时对齐属性
- left 左对齐(默认)
- center 居中
- right 右对齐
需求:演示标题 1 到 标题 6 的
<h1 align="left">标题1</h1>
<h2 align="center">标题2</h2>
<h3 align="right">标题3</h3>
<h4>标题4</h4>
<h5>标题5</h5>
<h6>标题6</h6>
8.4 超链接(重点)
在页面中所有点击之后可以跳转的内容都是超链接
a标签是 超链接
href属性设置连接的地址
target属性设置哪个目标进行跳转
- _self 表示当前页面(默认值)
- _blank 表示打开新页面来进行跳转
需求1:普通的超链接
<a href="">百度</a><br/>
<a href="" target="_self">百度_self</a><br/>
<a href="" target="_blank">百度_blank</a><br/>
8.5 列表标签
无序列表、有序列表
ul 是无序列表
type属性可以修改列表项前面的符号
li 是列表项
需求:使用无序,列表方式,把赵四,刘能,小沈阳,宋小宝,展示出来
<ul type="none"><li>赵四</li><li>刘能</li><li>小沈阳</li><li>宋小宝</li></ul>
8.6 img标签
img标签可以在html页面上显示图片
img标签是图片标签,用来显示图片
- src属性可以设置图片的路径
- width属性设置图片的宽度
- height属性设置图片的高度
- border属性设置图片边框大小
- alt属性设置当指定路径找不到图片时,用来代替显示的文本内容
在JavaSE中路径也分为相对路径和绝对路径.
相对路径:从工程名开始算
绝对路径:盘符:/目录/文件名
在web中路径分为相对路径和绝对路径两种
相对路径:
. 表示当前文件所在的目录
… 表示当前文件所在的上一级目录
文件名 表示当前文件所在目录的文件,相当于 ./文件名
绝对路径:
正确格式是: http://ip:port/工程名/资源路径
错误格式是: 盘符:/目录/文件名
需求:使用img标签显示一张美女的照片。并修改宽高,和边框属性
<img src="1.jpg" width="200" height="260" border="1" alt="美女找不到"/><img src="../../2.jpg" width="200" height="260" /><img src="../imgs/3.jpg" width="200" height="260" /><img src="../imgs/4.jpg" width="200" height="260" /><img src="../imgs/5.jpg" width="200" height="260" /><img src="../imgs/6.jpg" width="200" height="260" />
8.7 表格标签(重点)
table 标签是表格标签
- border 设置表格标签
- width 设置表格宽度
- height 设置表格高度
- align 设置表格相对于页面的对齐方式
- cellspacing 设置单元格间距
tr 是行标签
th 是表头标签
td 是单元格标签
align 设置单元格文本对齐方式
b 是加粗标签
需求1:做一个 带表头的 ,三行,三列的表格,并显示边框
需求2:修改表格的宽度,高度,表格的对齐方式,单元格间距。
<table align="center" border="1" width="300" height="300" cellspacing="0"><tr><th>1.1</th><th>1.2</th><th>1.3</th></tr><tr><td>2.1</td><td>2.2</td><td>2.3</td></tr><tr><td>3.1</td><td>3.2</td><td>3.3</td></tr>
</table>
8.8 跨行跨列表格(次重点)
colspan 属性设置跨列
rowspan 属性设置跨行
需求:
新建一个五行,五列的表格,
第一行,第一列的单元格要跨两列,
第二行第一列的单元格跨两行,
第四行第四列的单元格跨两行两列。
<table width="500" height="500" cellspacing="0" border="1"><tr><td colspan="2">1.1</td><td>1.3</td><td>1.4</td><td>1.5</td></tr><tr><td rowspan="2">2.1</td><td>2.2</td><td>2.3</td><td>2.4</td><td>2.5</td></tr><tr><td>3.2</td><td>3.3</td><td>3.4</td><td>3.5</td></tr><tr><td>4.1</td><td>4.2</td><td>4.3</td><td colspan="2" rowspan="2">4.4</td></tr><tr><td>5.1</td><td>5.2</td><td>5.3</td></tr></table>
8.9 了解iframe框架标签(内嵌窗口)
ifarme标签可以在页面上开辟一个小区域显示一个单独的页面
ifarme和a标签组合使用的步骤:
1.在iframe标签中使用name属性定义一个名称
2.在a标签的target属性上设置iframe的name的属性值
<iframe src="3.标题标签.html" width="500" height="400" name="abc"></iframe><br/><ul><li><a href="0-标签语法.html" target="abc">0-标签语法.html</a></li><li><a href="1.font标签.html" target="abc">1.font标签.html</a></li><li><a href="2.特殊字符.html" target="abc">2.特殊字符.html</a></li></ul>
8.10 表单标签(重点)
表单就是html页面中用来收集用户信息的所有元素集合,然后把这些信息发送给服务器。
form标签就是表单
- input type=text 是文件输入框 value设置默认显示内容
- input type=password 是密码输入框 value设置默认显示内容
- input type=radio 是单选框 name属性可以对其进行分组 checked="checked"表示默认选中
- input type=checkbox 是复选框 checked="checked"表示默认选中
- input type=reset 是重置按钮 value属性修改按钮上的文本
- input type=submit 是提交按钮 value属性修改按钮上的文本
- input type=button 是按钮 value属性修改按钮上的文本
- input type=file 是文件上传域
- input type=hidden 是隐藏域 当我们要发送某些信息,而这些信息,不需要用户参与,就可以使用隐藏域(提交的时候同时发送给服务器)
select 标签是下拉列表框
option 标签是下拉列表框中的选项 selected="selected"设置默认选中
textarea 表示多行文本输入框 (起始标签和结束标签中的内容是默认值)
- rows 属性设置可以显示几行的高度
- cols 属性设置每行可以显示几个字符宽度
需求:创建一个个人信息注册的表单界面。包含用户名,密码,确认密码。性别(单选),兴趣爱好(多选),国籍(下拉列表)。
隐藏域,自我评价(多行文本域)。重置,提交。
<form><h1 align="center">用户注册</h1><table align="center"><tr><td>用户名:</td><td><input type="text" value="默认值"/></td></tr><tr><td>输入密码:</td><td><input type="password" value="abc"/></td></tr><tr><td>确认密码:</td><td><input type="password" value="abc"/></td></tr><tr><td>性别:</td><td><input type="radio" name="sex" checked="checked"/>男<input type="radio" name="sex">女</td></tr><tr><td>兴趣爱好:</td><td><input type="checkbox" />Java<input type="checkbox" />JavaScript<input type="checkbox" />C++</td></tr><tr><td>国籍:</td><td><select><option>--请选择国籍--</option><option selected="selected">中国</option><option>美国</option></select></td></tr><tr><td>自我评价:</td><td><textarea rows="10" cols="20" >我才是默认值</textarea></td></tr><tr><td><input type="reset" value="重置按钮"/></td><td><input type="submit"/></td><td><input type="button" value="abc" /><br/></td><td><input type="file"/></td><td><input type="hidden" name="abc" value="abcValue" /></td></tr></table></form>
8.11表单提交的细节
form标签是表单标签
- action属性设置提交的服务器地址
- method属性设置提交的方式GET(默认值)或POST
表单提交的时候,数据没有发送给服务器的三种情况:
1.表单项没有name属性值
2.单选、复选(下拉列表中的option标签)都需要添加value属性,以便发送给服务器
3.表单项不在提交的form标签中
GET请求的特点是:
1.浏览器地址栏中的地址是:action属性【+?+请求参数】
请求参数的格式是:name=value&name=value
2.不安全
3.它有数据长度的限制
POST请求的特点是:
1.浏览器地址栏中只有action属性值
2.相对于GET请求要安全
3.理论上没有数据长度的限制
<form action="http://localhost:8080" method="post"><input type="hidden" name="action" value="login" /><h1 align="center">用户注册</h1><table align="center"><tr><td> 用户名称:</td><td><input type="text" name="username" value="默认值"/></td></tr><tr><td> 用户密码:</td><td><input type="password" name="password" value="abc"/></td></tr><tr><td>性别:</td><td><input type="radio" name="sex" value="boy"/>男<input type="radio" name="sex" checked="checked" value="girl" />女</td></tr><tr><td> 兴趣爱好:</td><td><input name="hobby" type="checkbox" checked="checked" value="java"/>Java<input name="hobby" type="checkbox" value="js"/>JavaScript<input name="hobby" type="checkbox" value="cpp"/>C++</td></tr><tr><td>国籍:</td><td><select name="country"><option value="none">--请选择国籍--</option><option value="cn" selected="selected">中国</option><option value="usa">美国</option><option value="jp">小日本</option></select></td></tr><tr><td>自我评价:</td><td><textarea name="desc" rows="10" cols="20">我才是默认值</textarea></td></tr><tr><td><input type="reset" /></td><td align="center"><input type="submit"/></td></tr></table></form>
8.12 其他标签
div、span、p标签
div标签:默认独占一行
span标签:它的长度是封装数据的长度
演示:
<div>div标签1</div><div>div标签2</div><span>span标签1</span><span>span标签2</span><p>p段落标签1</p><p>p段落标签2</p>
9.CSS技术
9.1 CSS技术介绍
CSS 是「层叠样式表单」。是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。
9.2 CSS语法规则
选择器:浏览器根据“选择器”决定受 CSS 样式影响的 HTML
属性 (property) 是你要改变的样式名,并且每个属性都有一个值。属性和值被冒号分开,并由花括号包围,这样就组成了一个完整的样式声明(declaration),例如:p {color: blue}
多个声明:如果要定义不止一个声明,则需要用分号将每个声明分开。虽然最后一条声明的最后可以不加分号(但尽量在每条声明的末尾都加上分号)
例如:
P{
color:red;
font-size:30px;
}
注:一般每行只能描述一个属性
CSS注释:/注释内容/
9.3 CSS和HTML的结合方式
9.3.1 第一种
在标签的 style 属性上设置”key:value value;”,修改标签样式。
需求:分别定义两个 div、span 标签,分别修改每个 div 标签的样式为:边框 1 个像素,实线,红色
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--需求1:分别定义两个 div、span标签,分别修改每个 div 标签的样式为:边框1个像素,实线,红色。--><div style="border: 1px solid red;">div标签1</div><div style="border: 1px solid red;">div标签2</div><span style="border: 1px solid red;">span标签1</span><span style="border: 1px solid red;">span标签2</span>
</body>
</html>
问题:这种方式的缺点?
1.如果标签多了,样式多了。代码量就非常庞大
2.可读性非常差
3.CSS代码没有什么复用性可言
9.3.2 第二种
在 head 标签中,使用 style 标签来定义各种自己需要的 css 样式。
格式如下:
xxx {
Key : value value;
}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><!--style标签专门用来定义css样式代码--><style type="text/css">/* 需求1:分别定义两个 div、span标签,分别修改每个 div 标签的样式为:边框1个像素,实线,红色。*/div{border: 1px solid red;}span{border: 1px solid red;}</style>
</head><body><div>div标签1</div><div>div标签2</div><span>span标签1</span><span>span标签2</span>
</body>
</html>
问题:这种方式的缺点?
1.只能在同一页面内复用代码,不能在多个页面中复用 css 代码。
2.维护起来不方便,实际的项目中会有成千上万的页面,要到每个页面中去修改。工作量太大了。
9.3.3 第三种
把 css 样式写成一个单独的 css 文件,再通过 link 标签引入即可复用。
使用 html 的 标签 导入 css 样式文件。
CSS文件内容:
div{border: 1px solid yellow;
}
span{border: 1px solid red;
}
HTML文件内容
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><!--link标签专门用来引入css样式代码--><link rel="stylesheet" type="text/css" href="1.css"/></head><body><div>div标签1</div><div>div标签2</div><span>span标签1</span><span>span标签2</span>
</body>
</html>
9.4 CSS选择器
9.4.1 标签名选择器
标签名选择器的格式是:
标签名{
属性:值;
}
标签名选择器,可以决定哪些标签被动的使用这个样式。
需求:在所有div标签上修改字体颜色为蓝色,字体大小30个像素。边框为1像素黄色实线。
并且修改所有span 标签的字体颜色为黄色,字体大小20个像素。边框为5像素蓝色虚线。
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>CSS选择器</title><style type="text/css">div{border: 1px solid yellow;color: blue;font-size: 30px;}span{border: 5px dashed blue;color: yellow;font-size: 20px;}</style>
</head>
<body><div>div标签1</div><div>div标签2</div><span>span标签1</span><span>span标签2</span>
</body>
</html>
9.4.2 id选择器
id选择器的格式是:
#id属性值{
属性:值;
}
id选择器,可以让我们通过id属性选择性的去使用这个样式
需求 :分别定义两个 div 标签,
第一个 div 标签定义 id 为 id001 ,然后根据 id 属性定义 css 样式修改字体颜色为蓝色,字体大小 30 个像素。边框为 1 像素黄色实线。
第二个 div 标签定义 id 为 id002 ,然后根据 id 属性定义 css 样式 修改的字体颜色为红色,字体大小 20 个像素。边框为 5 像素蓝色点线。
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>ID选择器</title><style type="text/css">#id001{color: blue;font-size: 30px;border: 1px yellow solid;}#id002{color: red;font-size: 20px;border: 5px blue dotted ;}</style>
</head>
<body> <div id="id002">div标签1</div><div id="id001">div标签2</div>
</body>
</html>
9.4.3 class选择器(类选择器)
class类型选择器的格式是:
.class属性值{
属性:值;
}
class 类型选择器,可以通过 class 属性有效的选择性地去使用这个样式。
需求 1:修改 class 属性值为 class01 的 span 或 div 标签,字体颜色为蓝色,字体大小 30 个像素。边框为 1 像素黄色实线。
需求 2:修改 class 属性值为 class02 的 div 标签,字体颜色为灰色,字体大小 26 个像素。边框为 1 像素红色实线
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>class类型选择器</title><style type="text/css">.class01{color: blue;font-size: 30px;border: 1px solid yellow;}.class02{color: grey;font-size: 26px;border: 1px solid red;}</style>
</head>
<body><div class="class02">div标签class01</div><div class="class02">div标签</div><span class="class02">span标签class01</span><span>span标签2</span>
</body>
</html>
9.4.4 组合选择器
组合选择器的格式是:
选择器1,选择器2,…,选择器n{
属性:值;
}
组合选择器可以让多个选择器共用同一个 css 样式代码。
需求1:修改 class=“class01” 的div 标签 和 id=“id01” 所有的span标签,字体颜色为蓝色,字体大小20个像素。边框为1像素黄色实线。
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>class类型选择器</title><style type="text/css">.class01 , #id01{color: blue;font-size: 20px;border: yellow 1px solid;}</style>
</head>
<body><div id="id01">div标签class01</div> <br /><span>span 标签</span> <br /><div>div标签</div> <br /><div>div标签id01</div> <br />
</body>
</html>
9.5 常用样式
1.字体颜色
color:red;
颜色可以写颜色的名字如:black,blue,red等
也可以写rgb值和十六进制表示值:如rgb(255,0,0),#00F6DE,如果写十六进制值必须加#
2.宽度
width:19px;
宽度可以写像素值:19px;
也可以写百分比值:20%;
3.高度
height:20px;
高度可以写像素值:19px;
也可以写百分比值:20%;
4.背景颜色
background-color:#0F2D4C
5.字体样式
color:#FF0000; 字体颜色红色
font-size:20px; 字体大小
6.红色1像素实线边框
border:1px solid red;
7.DIV居中
margin-left:auto;
margin-right:auto;
8.文本居中
text-align:center;
9.超链接去下划线
text-decoration:none;
10.表格细线
table{
border:1px solid black;/设置边框/
border-collapse:collapse;/将边框合并/
}
td,th{
border:1px solid black;/设置边框/
}
11.列表去修饰
ul{
list-style:none;
}
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>06-css常用样式.html</title><style type="text/css">div{color: red;border: 1px yellow solid;width: 300px;height: 300px;background-color: green;font-size: 30px;margin-left: auto;margin-right: auto;text-align: center;}table{border: 1px red solid;border-collapse: collapse;}td{border: 1px red solid;}a{text-decoration: none;}ul{list-style: none;}</style>
</head>
<body><ul><li>11111111111</li><li>11111111111</li><li>11111111111</li><li>11111111111</li><li>11111111111</li></ul><table><tr><td>1.1</td><td>1.2</td></tr></table><a href="">百度</a><div>我是div标签</div>
</body>
</html>
更多推荐
1.Java Web之HTML和CSS
发布评论